Трудно сказать точно , что не так, без выборки ваших данных. Что я могу точно сказать, так это того, что вам не хватает аргументов 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()
Альтернативой xref='x'
является xref='paper'
. Теперь вы можете указать x0
как число с плавающей точкой между 0
и 1
, охватывающее начало и конец графика.