Я решил свой собственный вопрос.
fig.layout.annotations принимает список, параметры каждой стрелки - это dict ().Таким образом, идея состоит в том, чтобы создать список из множества dict (), а затем использовать fig.update_layout (annotations = list), чтобы нарисовать несколько стрелок.
dict () для каждой стрелки выглядит следующим образом:
arrow = go.layout.Annotation(dict(
x= x_end,
y= y_end,
xref="x", yref="y",
text="",
showarrow=True,
axref = "x", ayref='y',
ax= x_start,
ay= y_start,
arrowhead = 3,
arrowwidth=1.5,
arrowcolor='rgb(255,51,0)',)
)
список для нескольких стрелок можно легко создать следующим образом:
list = list + [dict()]
Затем обновитена рисунке:
fig.update_layout(
annotations= list_of_all_arrows,)
Если все стрелки находятся во временных рядах, это конечный результат: ![enter image description here](https://i.stack.imgur.com/2pO9p.png)