向 Plotly 烛台图添加注释

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

我一直在使用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)

我做错了什么?

python plotly
1个回答
0
投票

问题是您传递了整个

df["Close"]
系列,您应该仅传递索引
i
处的值,即
df.loc[i, "Close"]

这应该有效:

fig.add_annotation(x=i, y=df.loc[i, "Close"],
                   text="Test text",
                   showarrow=True,
                   arrowhead=1)
© www.soinside.com 2019 - 2024. All rights reserved.