【问题标题】:Is there a way to start a plot already zoomed on a specific area using plotly?有没有办法使用 plotly 开始一个已经在特定区域放大的情节?
【发布时间】:2019-07-18 16:04:06
【问题描述】:

我有一个用 plotly 制作的散点图(特别是在 Jupyter Notebook 上使用 Python API 离线 plotly),如您所知,plotly 使用户可以轻松缩放和框定特定区域,但我想要该图开始已经专注于我选择的特定领域。

我在文档中找不到任何相关内容(可能是因为我不知道在哪里查找或查找哪些术语)。有没有办法做到这一点,如果有,怎么做?当使用 subplots 而不是 Figure 对象时,设置有何不同?

【问题讨论】:

    标签: python plot plotly zooming plotly-python


    【解决方案1】:

    当您指定Layout 时,在xaxisyaxis 参数下,您可以指定range,例如

    import plotly.graph_objs as go
    
    # ...    
    
    layout = go.Layout(
        yaxis=dict(
            range=[0, 100]
        ),
        xaxis=dict(
            range=[100, 200]
        )
    )
    fig = go.Figure(data=data, layout=layout)
    

    可以在 xaxis hereyaxis here 找到这方面的文档。

    【讨论】:

    • 谢谢,我的印象是这会“削减”范围之外的所有结果,但显然情况并非如此。
    • 从我用 plotly express 的测试来看,这是行不通的
    【解决方案2】:

    如果您的轴包含日期,请确保在设置范围之前将类型指定为日期。否则,您会收到意想不到的结果。

    start_date = "2019-09-26"
    start_date = "2019-10-18"
    
    fig.update_xaxes(type="date", range=[start_date, end_date])
    

    如果fig由共享x轴(或y轴)的子图组成,您可以将上述范围设置为与最后一个共享图对应的行和列。

    以下是单列子图,每行一个图表,共 7 行。

    last_row = 7
    last_col = 1
    
    fig.update_xaxes(type="date", range=[start, end], row=last_row, col=last_col)
    

    【讨论】:

    • 我一直在寻找几个小时来解决这个问题;对于如此原始的东西,很难找到。奇怪的是,我在xaxis 的官方情节页面中找不到足够的细节。但是在 Kite 中为 xaxis paramenters 提供了更好的文档,帮助我找到了上述解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 2021-05-16
    • 1970-01-01
    • 2023-03-28
    • 2015-10-07
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多