有没有办法使用 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
时,在xaxis
和yaxis
参数下,您可以指定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 中打开开关时不断更新图形?