旋转 plotly figure 到 lat long

Rotate plotly figure to lat long

我正在使用 plotly 在地球视图上绘制一些数据。例如

import plotly.graph_objects as go
import numpy as np
fig = go.Figure(go.Scattergeo(lat=np.linspace(37.5, 47, 10),
                              lon=np.linspace(-84, 2, 10)))
fig.update_geos(projection_type='orthographic')
fig.show()

这将生成下图

我想旋转视图以将 lat/lon 指定为“查看”。例如这可能是我关心的数据的中点。

我可以更新图形布局的哪些内容以指定要关注的 lat/long?

只需包括:

fig.update_geos(projection_rotation = {'lat': 43.83, 'lon': -36.22, 'roll': 0})

地块 1:

我遇到过 运行 设置这些属性会弄乱缩放的情况。例如:

fig.update_geos(projection_type='orthographic',
                projection_rotation = {'lat': 37.5, 'lon': -84, 'roll': 0},
               )

情节 2

我不确定为什么,但您可以只包括:

projection_scale = 0.5

你会再次得到这个:

情节 3

完整代码:

import plotly.graph_objects as go
import numpy as np
fig = go.Figure(go.Scattergeo(lat=np.linspace(37.5, 47, 10),
                              lon=np.linspace(-84, 2, 10)))
f = fig.full_figure_for_development(warn=False)

fig.update_geos(projection_type='orthographic',
                projection_rotation = {'lat': 43.83, 'lon': -36.22, 'roll': 0})

fig.show()

这是一个使用字典的替代设置,可以避免多次重复“投影”:

fig.layout.geo.projection = {'rotation': {'lat': 37.5, 'lon': -84},
                             'scale': 0.5,
                             'type': 'orthographic'}