如何在时间序列的数据帧iplot中的指定点处添加垂直线?

问题描述 投票:0回答:1

我有一个时间序列的数据框图,以及一个我想在其中绘制垂直线的数值列表。该图是使用cufflinks包创建的交互式图。这是一个以1000个时间值表示的三个时间序列的示例,我想在500和800处绘制垂直线。我尝试使用“ axvlinee”是基于我在类似帖子中看到的建议:

import numpy as np
import pandas as pd
import cufflinks

np.random.seed(123)
X = np.random.randn(1000,3)  
df=pd.DataFrame(X, columns=['a','b','c'])
fig=df.iplot(asFigure=True,xTitle='time',yTitle='values',title='Time Series Plot')
fig.axvline([500,800], linewidth=5,color="black", linestyle="--")
fig.show()

错误消息指出'Figure'对象没有属性'axvline'。

我不确定此消息是由于我对基本情节缺乏了解还是由于使用igraph的局限性。

python pandas plotly cufflinks
1个回答
0
投票

不确定是否是您想要的,添加两个scatter似乎可行:

np.random.seed(123)
X = np.random.randn(1000,3)  
df=pd.DataFrame(X, columns=['a','b','c'])
fig = df.iplot(asFigure=True,xTitle='time',yTitle='values',title='Time Series Plot')

fig.add_scatter(x=[500]*100, y=np.linspace(-4,4,100), name='lower')
fig.add_scatter(x=[800]*100, y=np.linspace(-4,4,100), name='upper')

fig.show()

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.