【发布时间】:2020-04-24 21:06:21
【问题描述】:
我希望能够单击一个州(单选或多选)并显示所选州的县,同时仍继续显示未选择的州。我已经能够通过构建一个数据框来实现这一点,我将州形状的 geojson 文件附加到县形状的 geojson 中。
census_area centroid_lat centroid_lon county_fips fips geometry geomlist id iso_3166_2 lsad name state state_fips state_only_fips
state_fips 存在于每个元组中,其中 state_only_fips 仅存在于状态形状中。然后我使用以下代码构建我的地图:
state_selection = alt.selection_single(empty='none', fields=['properties.state_only_fips'])
alt.Chart(combined_geo).mark_geoshape(stroke='black').encode(
).add_selection(
state_selection
).transform_filter(
{'not': state_selection}
).properties(
width=900,
height=700
).project("albersUsa")
这正确地隐藏了状态形状并显示了基础县,但它表现不佳。我希望流程看起来像这样,而不是渲染所有县 和 州形状并仅隐藏我选择的州形状:
初始化图表,仅显示状态形状(表示为 state_only_fips 值,或 'lsad' == 'State' 的值)
如果单击了某个状态,则隐藏选定状态,同时继续显示所有其他状态
显示所选州的县形状。 Display Selected State's Counties
我觉得这是可能的,并且会使图表表现更好,但我不确定如何构建 geojson 文件和/或我的 transform_filter
【问题讨论】: