我一直在使用plotly 在数据框中使用OHLC 数据来创建图表。该图表包含顶部的烛台和底部的成交量条:
我想注释蜡烛图(不是成交量图),但不知道如何做。
此代码可用于创建图表:
# Plot chart
# Create subplots and mention plot grid size
fig = make_subplots(rows=2, cols=1, shared_xaxes=True,
vertical_spacing=0.03,
row_width=[0.2, 0.7])
# Plot OHLC on 1st row
fig.add_trace(go.Candlestick(x=df.index, open=df["Open"], high=df["High"],
low=df["Low"], close=df["Close"], name="OHLC"),
row=1, col=1
)
# Bar trace for volumes on 2nd row without legend
fig.add_trace(go.Bar(x=df.index, y=df['Volume'], showlegend=False), row=2, col=1)
fig.update_layout(xaxis_rangeslider_visible=False, title_text=f'{ticker}')
fig.write_html(fr"E:\Documents\PycharmProjects\xxxxxxxx.html")
我尝试在烛台 add_trace 之后添加以下内容,但它不起作用:
fig.add_annotation(x=i, y=df["Close"],
text="Test text",
showarrow=True,
arrowhead=1)
我做错了什么?
问题是您传递了整个
df["Close"]
系列,您应该仅传递索引 i
处的值,即 df.loc[i, "Close"]
。
这应该有效:
fig.add_annotation(x=i, y=df.loc[i, "Close"],
text="Test text",
showarrow=True,
arrowhead=1)