【问题标题】:Rotate plotly figure to lat long将图形旋转到纬度
【发布时间】:2021-02-25 17:11:42
【问题描述】:

我正在使用 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()

这将生成下图

我想旋转视图以指定要“查看”的纬度/经度。例如,这可能是我关注的数据的中点。

我可以更新有关图形布局的哪些内容以指定要关注的纬度/经度?

【问题讨论】:

    标签: python plotly plotly-python


    【解决方案1】:

    只需包括:

    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()
    

    这是使用 dicts 的替代设置,可避免多次重复“投影”:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多