我使用px.bar来绘制每个交易日的盈亏情况。问题很明显就是改变日期的顺序。有没有一种方法可以强制执行以保持数据帧的顺序?我试着在没有指定颜色的情况下绘制,然后返回并更新颜色,但我没有任何运气。
这是我绘制数据帧的代码行
fig1 = px.bar(dfff, x="DATE", y="Profit/Loss", color = "Marker", color_discrete_map = "identity").update_layout(showlegend=False, title_x=0.5)这是数据帧。
DATE Profit/Loss Marker Cumulative_PnL Daily_Volume WinRate WinStreak CumulativeWinRate
08/16/21 -58.1995 red -58.1995 604.0000 80.0000 0 80.0000
08/17/21 -4.7700 red -62.9695 4.0000 50.0000 0 71.4286
08/18/21 31.4984 green -31.4711 1908.0000 100.0000 1 84.6154
08/20/21 49.6200 green 18.1489 1006.0000 50.0000 2 76.4706
08/23/21 -930.1800 red -912.0311 712.0000 50.0000 0 66.6667
08/24/21 99.1000 green -812.9311 306.0000 100.0000 1 70.9677
08/25/21 -0.6400 red -813.5711 332.0000 60.0000 0 67.3913
08/26/21 -50.0300 red -863.6011 2556.0000 66.6667 0 67.3077
08/27/21 -9.9100 red -873.5111 38.0000 81.8182 0 69.8413
08/30/21 7.8500 green -865.6611 424.0000 91.6667 1 73.3333
08/31/21 1.0000 green -864.6611 40.0000 100.0000 2 74.0260发布于 2021-10-10 16:39:48
您的DATE列是字符串类型。您需要将其转换为datetime类型,以便plotly能够正确识别它:
df['DATE'] = pd.to_datetime(df.DATE, format='%m/%d/%y')在此之后,它应该正确绘制:
fig1 = px.bar(df, x="DATE", y="Profit/Loss", color = "Marker", color_discrete_map = "identity").update_layout(showlegend=False, title_x=0.5)
fig1.show()

另请参阅full example
https://stackoverflow.com/questions/69516990
复制相似问题