有没有办法使用 plotly 开始一个已经在特定区域放大的情节?

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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 here 和 yaxis 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 提供了更好的文档,帮助我找到了上述解决方案。

以上是关于有没有办法使用 plotly 开始一个已经在特定区域放大的情节?的主要内容,如果未能解决你的问题,请参考以下文章

Plotly:如何在绘图线图中的特定点添加标记(python / pandas)

有没有办法调整使用 Plotly 创建的离散 choropleth 的图例项的大小?

有没有办法非暴力地停止芹菜工人的特定任务?

有没有办法在 Dash Plotly Python 中打开开关时不断更新图形?

Python Plotly Dash 有没有办法在资产文件夹之外使用 Css 文件? / 拥有多个资产文件夹

有没有办法在 R 中创建 Plotly 图表的全屏弹出窗口?