Altair 翻译地图(移动地图)

altair translate map (move map)

我有一张牵牛星世界地图,上面投影了一些数据(GPS 点)。 我可以缩放地图,但是当我平移(移动)地图时,出现错误:

AttributeError: 'list' object has no attribute 'get'

当我删除部分时:

translate=[100, 550]

显示了地图,但我想显示世界的不同区域。 为什么会出现这个错误?

这是我显示地图的代码:

# World background
world = alt.topo_feature(data.world_110m.url, 'countries')
background = alt.Chart(world).mark_geoshape(fill='lightgray', 
stroke='white').properties(width=800,height=800).project(type='mercator', scale=300, 
translate=[100, 550])

# gps position *.jpg photos
points = alt.Chart(df).mark_circle().encode(
latitude='latitude',
longitude='longitude',
color=alt.value('steelblue'),
tooltip=['naam']
).project(scale=300)

st.altair_chart(background + points, use_container_width=True)

问题是您的 jsonschema 版本不受支持;见 https://github.com/altair-viz/altair/issues/2496

如果您pip install jsonschema<4.0,图表应该按书面方式工作。或者,您可以更新到比 4.1 更高的 Altair 版本(目前 4.2.0.rc1 可用,最终的 4.2.0 版本应该很快就会发布)。