【发布时间】:2021-07-06 15:37:04
【问题描述】:
我目前正在使用 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'])])
我希望能够突出显示特定的烛台(例如使用标记)
我尝试使用add_trace 函数和以下代码来实现这一点:
candlestick_chart.add_trace(
go.Scatter(
x=["2020-07-01"],
y=["350"],
mode="markers",
marker=dict(symbol="6")
)
)
但这会破坏图表。
为什么会这样?我该如何解决这个问题?
编辑:添加的数据源
我从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 也不起作用
【问题讨论】:
-
marker=dict(symbol="6")的确切用途是什么,因为当我尝试使用它来调试您的问题时,它对我不起作用。您的问题也不是最低限度可重现的,因此尽管我能够使代码适用于我的示例数据而没有遇到您遇到的问题,但仍有可能无法解决您的问题。 -
如果您单击图像,您应该会看到在这种情况下烛台以箭头突出显示,而不是默认圆圈 (plotly.com/python/marker-style)。删除此行不会改变结果。我应该补充什么以使我的问题变得可重现?
-
您应该添加一种简单的方法来获取您正在使用的数据,无论是文件还是指向您用来获取数据的任何来源的链接。
-
我的编辑应该会给你所有的信息。
-
@Ph.lpp 实际上,没有。您的编辑显示了一个数据源,但绝对无法知道这是否真的是您用来生成图形的数据。您的编辑也没有说明与
go.Scatter()一起使用的数据类型。在我看来,您可能使用了string类型的数据。要产生一个可正确重现的问题,请提供完整的数据 sn-p 以及您的导入 和 数据,例如 this
标签: python plotly candlestick-chart