gpt4 book ai didi

python - 烛台图 add_trace(mode ="markers") 输出错误

转载 作者:行者123 更新时间:2023-12-05 00:53:48 25 4
gpt4 key购买 nike

我目前正在使用 dash 和 plotly 构建一个财务仪表板。我在仪表板中添加了以下烛台图表:

    candlestick_chart = go.Figure(data=[go.Candlestick(x=financial_data["Date"],
open=financial_data['Open'],
high=financial_data['High'],
low=financial_data['Low'],
close=financial_data['Close'])])

返回预期结果: enter image description here

我希望能够突出显示特定的烛台(例如使用标记)

我尝试使用 add_trace 函数和以下代码来实现这一点:

    candlestick_chart.add_trace(
go.Scatter(
x=["2020-07-01"],
y=["350"],
mode="markers",
marker=dict(symbol="6")

)
)

但这会破坏图表。

enter image description here

为什么会这样?我该如何解决这个问题?

编辑:添加的数据源

我从 https://finance.yahoo.com/quote/SPY/history?p=SPY 获得数据时间段设置为最大值。

我通过以下方式解析数据:

    start = "2000-01-01"
end = "2021-01-01"

# Get a pandas dataframe
datapath = ('D:\\Programmieren\\trading_bot\\etf_data\\SPY.csv')

financial_data = pd.read_csv(datapath,
parse_dates=True,
index_col=0)

financial_data= financial_data.loc[start:end]
# Process data
financial_data = financial_data["2020-06-01":"2021-01-01"]

financial_data.reset_index(inplace=True)

EDIT2:系统和版本

我的包有以下版本:

print(pd.__version__) # 1.2.3
print(plotly.__version__) # 4.14.3

我正在合作:

  • Windows 10 家庭版(64 位)
  • Python 3.9
  • Python 3.8 也不行

最佳答案

可以被认为是版本问题,但核心问题是您已将 y-value 定义为带有 [ 的字符串列表"350"] 而不是像 [350] in:

这样的数字
go.Scatter(
x=["2020-07-01"],
y=["350"],
mode="markers",
marker=dict(symbol="6")

)
)

不同版本的 plotly 似乎以不同的方式处理这个问题。只需删除引号,让 Plotly 将值解释为数字即可:

enter image description here

带有示例数据的完整代码

import plotly.graph_objects as go
from plotly.subplots import make_subplots
import pandas as pd

# data
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')
df=df.tail(10)

# set up figure with values not high and not low
# include candlestick with rangeselector
fig = go.Figure(go.Candlestick(x=df['Date'],
open=df['AAPL.Open'], high=df['AAPL.High'],
low=df['AAPL.Low'], close=df['AAPL.Close']))

fig.add_trace(
go.Scatter(
x=["2017-02-10"],
y=[135],
mode="markers+text",
marker=dict(symbol='triangle-down-open', size = 12),
# text = 'important',
# textposition = 'middle right'

)
)

fig.show()

关于python - 烛台图 add_trace(mode ="markers") 输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67043415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com