如何解决Altair choropleth -- 将与每个县相关的值添加到地图
我正在尝试将与每个县关联的 pop_april_2010 值添加到地图中。但是,当我不包含“color='pop_april_2010:Q'”行时,我的代码仅返回底图。包含该行会导致没有地图的空图像。
数据框 - df
数据来自 kaggle > https://www.kaggle.com/camnugent/california-housing-feature-engineering?select=cal_populations_county.csv
url = 'https://raw.githubusercontent.com/deldersveld/topojson/master/countries/us-states/CA-06-california-counties.json'
source = alt.topo_feature(url,"cb_2015_california_county_20m")
alt.Chart(source).mark_geoshape().encode(
tooltip='properties.NAME:N',# color='pop_april_2010:Q'
).transform_lookup(
lookup='County',from_= alt.LookupData(cal2,'County',['pop_april_2010']),).properties(
width=500,height=300
).project(
type='albersUsa'
).properties(
width=500,height=300
)
结果
解决方法
使用 color
时图表为空的原因是在 topojson 文件的查找中使用了错误的列名,因此没有返回任何内容并且您将引用不存在的列的字符串传递给 { {1}}。如果您检查您的 topojson 文件,您可以看到每个县的名称都存储在 color
属性中,而不是 NAME
中。
此外,如果将您的 topojson 与 what is in the vega sample data(为了更容易比较 paste them into a json viewer)进行比较,您可以看到在查找示例 (County
) 的示例数据文件中使用的键是在每个 id
对象的顶层,而在您的 fie 中,它在 geometry
下又嵌套了一层。这意味着您需要使用 properties
作为查找字符串 (more details about working geogrphical data in this answer):
'properties.NAME'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。