Altair:全球地图居中
Altair: Globe map centering
我正在学习使用 Altair 绘制地图,参考此处的示例 Example Gallery - World Projections。
如何将 Globe 地图的中心设置在我想要的经纬度点?
下面是我尝试将地图居中定位在 Latitude=40 和 Longitude=140 附近的失败代码:
import altair as alt
from vega_datasets import data
countries = alt.topo_feature(data.world_110m.url, 'countries')
alt.Chart(countries).mark_geoshape(
fill='#666666',
stroke='white'
).project(
type= 'orthographic'
).properties(
title='Orthographic'
).configure_projection(
center= [140,40]
)
如您所见,地图仍以大西洋为中心,可能位于 [Long, Lat] = [0, 0]。
对于正交投影,是 rotate
属性 而不是 center
属性 决定投影如何居中。 rotate
属性 由围绕三个主轴的旋转角度组成。例如,要围绕 long=140,lat=40 构建投影,您可以这样做:
import altair as alt
from vega_datasets import data
countries = alt.topo_feature(data.world_110m.url, 'countries')
alt.Chart(countries).mark_geoshape(
fill='#666666',
stroke='white'
).project(
type= 'orthographic',
rotate=[-140, -40 ,0]
).properties(
title='Orthographic'
)
您可以在此站点动态探索一些可用的投影及其配置:https://vega.github.io/vega/docs/projections/
我正在学习使用 Altair 绘制地图,参考此处的示例 Example Gallery - World Projections。
如何将 Globe 地图的中心设置在我想要的经纬度点?
下面是我尝试将地图居中定位在 Latitude=40 和 Longitude=140 附近的失败代码:
import altair as alt
from vega_datasets import data
countries = alt.topo_feature(data.world_110m.url, 'countries')
alt.Chart(countries).mark_geoshape(
fill='#666666',
stroke='white'
).project(
type= 'orthographic'
).properties(
title='Orthographic'
).configure_projection(
center= [140,40]
)
如您所见,地图仍以大西洋为中心,可能位于 [Long, Lat] = [0, 0]。
对于正交投影,是 rotate
属性 而不是 center
属性 决定投影如何居中。 rotate
属性 由围绕三个主轴的旋转角度组成。例如,要围绕 long=140,lat=40 构建投影,您可以这样做:
import altair as alt
from vega_datasets import data
countries = alt.topo_feature(data.world_110m.url, 'countries')
alt.Chart(countries).mark_geoshape(
fill='#666666',
stroke='white'
).project(
type= 'orthographic',
rotate=[-140, -40 ,0]
).properties(
title='Orthographic'
)
您可以在此站点动态探索一些可用的投影及其配置:https://vega.github.io/vega/docs/projections/