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'))
如果白色州有缺失值,这应该有效,这个问题中有更多示例
我也想在下面未突出显示的项目中添加阴影,但我正在努力寻找正确的方法。我基本上想要所有灰色或任何其他设置颜色,除了突出显示的自治市镇..
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'))
如果白色州有缺失值,这应该有效,这个问题中有更多示例