gbo*_*oge 6 python plotly plotly-python
我用下面的代码制作了一个折线图,我试图在 y=1 处添加一条水平线。我尝试按照 plotly 站点上的说明进行操作,但仍未显示。有谁知道为什么?
date = can_tot_df.date
growth_factor = can_tot_df.growth_factor
trace0 = go.Scatter(
x=date,
y=growth_factor,
mode = 'lines',
name = 'growth_factor'
)
fig = go.Figure()
fig.add_shape(
type='line',
x0=date.min(),
y0=1,
x1=date.max(),
y1=1,
line=dict(
color='Red',
)
)
data = [trace0]
iplot(data)
Run Code Online (Sandbox Code Playgroud)
小智 23
您还可以使用fig.add_hline(y=1)--> 请参阅https://plotly.com/python/horizontal- vertical-shapes/
import plotly.graph_objects as go
import numpy as np
x = np.arange(10)
fig = go.Figure(data=go.Scatter(x=x, y=x**2))
fig.add_hline(y=40, line_width=3, line_dash="dash", line_color="green")
fig.show()
Run Code Online (Sandbox Code Playgroud)
如果没有您的数据样本,就很难确切地说出问题所在。我可以肯定的是,您缺少参数xref并yref指定将线绘制为您y和x轴的单位。从您的示例代码来看,这就是您想要做的,因为您要根据日期指定 x 值。
此外,您无需担心iplot新版本的 plotly。您只需运行fig.show(). 下面的图形和代码示例将向您展示如何使用fig.show()以及如何根据轴单位定义线条。
阴谋:
代码:
import plotly.graph_objects as go
import numpy as np
x = np.arange(10)
fig = go.Figure(data=go.Scatter(x=x, y=x**2))
fig.add_shape(type='line',
x0=0,
y0=40,
x1=8,
y1=40,
line=dict(color='Red',),
xref='x',
yref='y'
)
fig.show()
Run Code Online (Sandbox Code Playgroud)
的替代方法xref='x'是xref='paper'。现在,您可以指定x0为之间浮动0,并1从一开始就跨越和剧情的结束。
您\xe2\x80\x99 正在将行添加到fig对象中,但fig没有传递到iplot()函数中,只有您的data. 所以只绘制了轨迹。
如果您使用的是最新版本的plotly,新语法允许您仅使用fig对象来创建此图,例如:
from plotly import graph_objects as go\n\nfig = go.Figure()\n\n# Contrived dataset for example.\nx = [1, 2, 3, 4]\ny = [i**2 for i in x]\n\nfig.add_trace(go.Scatter(\n x=x,\n y=y,\n mode = \'lines\',\n name = \'growth_factor\'))\n\nfig.add_shape(type=\'line\',\n x0=min(x),\n y0=5,\n x1=max(x),\n y1=5,\n line=dict(color=\'Red\'))\n\nfig.update_shapes(dict(xref=\'x\', yref=\'y\'))\n\nfig.show()\nRun Code Online (Sandbox Code Playgroud)\n\n为了方便起见,这里是情节文档。
\n| 归档时间: |
|
| 查看次数: |
12299 次 |
| 最近记录: |