Requite 有助于 Altair choropleth 中的着色

Requite helps shading in Altair choropleth

我也想在下面未突出显示的项目中添加阴影,但我正在努力寻找正确的方法。我基本上想要所有灰色或任何其他设置颜色,除了突出显示的自治市镇..

import altair as alt
from vega_datasets import data
boroughs = alt.topo_feature(data.londonBoroughs.url, 'boroughs')
centroids = data.londonCentroids.url

background = alt.Chart(boroughs).mark_geoshape(
    stroke='white',
    strokeWidth=1
).encode(
    color='IncidentDate:Q'
).transform_lookup(lookup = 'id',
    from_ = alt.LookupData(top_10v2,'Borough',['IncidentDate'])).properties(
    width=700,
    height=500
)

labels = alt.Chart(centroids).mark_text().encode(
    longitude='cx:Q',
    latitude='cy:Q',
    text='bLabel:N',
    size=alt.value(8),
    opacity=alt.value(0.6)
).transform_calculate(
    "bLabel", "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
)


lines = alt.Chart(boroughs).mark_geoshape(
    filled=False,
    strokeWidth=1
).encode(color=alt.value('#eee'))

background+labels+lines

你的例子中有一个未定义的变量(top_10v2),所以我无法测试它,但你应该可以使用类似这样的东西来对背景图表进行颜色编码:

color=alt.condition('datum.IncidentDate !== null', 'IncidentDate:Q', alt.value('lightgray'))

如果白色州有缺失值,这应该有效,这个问题中有更多示例