如何解决Vega-Lite中Choropleth地图颜色不显示的问题?
解决Vega-Lite Choropleth地图颜色不随数据变化的问题
你遇到的核心问题是:CSV文件中的deaths_100k_people_year字段被默认读取为字符串类型,而你在颜色编码中指定了quantitative(定量)类型,字符串无法被颜色刻度正确解析,导致地图颜色不随数据变化。
下面给出两种直接有效的解决方法:
方法一:读取CSV时直接解析字段类型
修改CSV数据源的format配置,明确指定死亡数字字段为数值类型:
"data": { "url": "https://raw.githubusercontent.com/Cian2001/irs_datasets/main/Worldwide_deaths.csv", "format": { "type": "csv", "parse": {"deaths_100k_people_year": "number"} } }
方法二:通过Transform转换字段类型
在现有的lookup变换后,添加calculate步骤将字符串转为数值:
"transform": [ { "lookup": "properties.name", "from": { "key": "country", "fields": ["deaths_100k_people_year"], "data": { "url": "https://raw.githubusercontent.com/Cian2001/irs_datasets/main/Worldwide_deaths.csv", "format": {"type": "csv"} } } }, { "calculate": "toNumber(datum.deaths_100k_people_year)", "as": "deaths_100k_people_year" } ]
两种方法都能让Vega-Lite正确识别死亡数据的定量属性,颜色编码会根据数值大小生成对应的深浅色调,地图就能正常展示数据差异了。
内容的提问来源于stack exchange,提问作者Cian O'Reilly
相关产品推荐
相关产品推荐

