我在Pandas dataframedf
中有一组销售数据,看起来类似于以下内容:
import pandas as pd
df = pd.DataFrame({'date':['2021-01-04', '2021-01-05', '2021-01-06', '2021-01-07', '2021-01-08', '2021-01-11', '2021-01-12', '2021-01-13', '2021-01-14', '2021-01-15'],
'sales':[1500, 2000, 1300, 2700, 1800, 4500, 2600, 2750, 8000, 1300]})
date sales
0 2021-01-04 1500
1 2021-01-05 2000
2 2021-01-06 1300
3 2021-01-07 2700
4 2021-01-08 1800
5 2021-01-11 4500
6 2021-01-12 2600
7 2021-01-13 2750
8 2021-01-14 8000
9 2021-01-15 1300
然后,我将这些数据绘制如下:
import plotly.express as px
fig = px.bar(df, x='date', y='sales')
fig.add_hrect(y0=0, y1=2200, line_width=0, fillcolor="red", opacity=0.25)
fig.add_hrect(y0=2200, y1=5000, line_width=0, fillcolor="yellow", opacity=0.25)
fig.add_hrect(y0=5000, y1=10000, line_width=0, fillcolor="green", opacity=0.25)
fig.show()
如您所见,当蓝色垂直条与红色背景色组合时,会变成紫色
一种解决方法可能是先绘制红色、绿色和黄色背景色,然后再覆盖蓝色条。这样,我们就不会“混合”红色和蓝色,从而形成紫色
这可能吗?还有其他更好的解决方案吗
谢谢
可以选择将
layer='below'
添加到add_hrect
相关问题 更多 >
编程相关推荐