我正在尝试创建一个包含邮政编码和温度数据的分区统计图,但是在尝试对数据进行编码时,我仍然遇到Javascript错误。我查看了 github 支持,发现这是有时拉入数据帧的问题,但我也尝试使用 csv 文件作为数据类型。Q似乎没有将临时列识别为数字?
import altair as alt
from vega_datasets import data
counties = alt.topo_feature(data.us_10m.url, 'counties')
source = max_2007_df
alt.Chart(counties).mark_geoshape().encode(
color='temp:Q').transform_lookup(
lookup='zipcode',
from_=alt.LookupData(source, 'zipcode', ['temp'])
).project(
type='albersUsa'
).properties(
width=500,
height=300
)
Javascript 错误:无法在"CanvasGradient"上执行"addColorStop":提供的浮点值是非有限的。这通常意味着图表规范中有拼写错误。有关完整的回溯,请参阅 JavaScript 控制台。
这是max_2007_temp df 的一部分
zipcode temp
0 1002 33.6
1 1011 31.8
2 1013 34.1
3 1098 31.9
4 1108 34.3
5 1129 34.1
6 1453 33.3
7 1545 33.5
8 1568 33.4
9 1571 32.8
10 1603 33.5
11 1604 33.8
12 1702 35.5
13 1721 35.5
14 1746 35.5
15 1752 35.5
16 1760 35.5
17 1772 34.4
18 1773 35.5
19 1776 35.5
您引用的地图数据data.us_10m
没有任何邮政编码信息,因此在邮政编码上联接此数据是行不通的。
如果要制作心目中的图表,则需要查找按邮政编码而不是按县编制索引的地理数据源。