我使用美国州级数据在 Altair 中创建了一张分区统计图。但是,我没有某些州的数据。默认情况下,这些州根本不会出现在地图上。这是一个示例图像:
我希望零状态在地图上显示为灰色。 Altair 文档显示了另一张符合此描述的地图:
我的问题是如何使第一个地图中带有空值的状态看起来像第二个地图中的状态。我尝试了一些事情。这是我的原始地图代码:
states = alt.topo_feature(data.us_10m.url, 'states')
source = df
alt.Chart(states).mark_geoshape().encode(
color=alt.Color('avg_prem:Q')
).transform_lookup(
lookup='id',
from_=alt.LookupData(source, 'id', ['avg'])
).project(
type='albersUsa'
).properties(
width=700,
height=450
)
这是第二张地图的代码:
# US states background
alt.Chart(states).mark_geoshape(
fill='lightgray',
stroke='white'
).properties(
title='US State Capitols',
width=700,
height=400
).project('albersUsa')
我尝试的主要是将第二张地图中的填充和描边参数应用到第一张地图上:
alt.Chart(states).mark_geoshape(fill='lightgray',
stroke='white').encode(
color=alt.Color('avg_prem:Q')
).transform_lookup(
lookup='id',
from_=alt.LookupData(source, 'id', ['avg'])
).project(
type='albersUsa'
).properties(
width=700,
height=450
)
我可以通过这种方式更改具有值的状态轮廓的颜色,但无法用空值填充状态。
有没有好的办法解决地图上数据丢失的问题?