Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Plotly:防止条形图上的条形图基于背景色更改颜色_Python_Plotly_Plotly Dash_Plotly Python - Fatal编程技术网

Python Plotly:防止条形图上的条形图基于背景色更改颜色

Python Plotly:防止条形图上的条形图基于背景色更改颜色,python,plotly,plotly-dash,plotly-python,Python,Plotly,Plotly Dash,Plotly Python,我在熊猫数据框df中有一组销售数据,看起来类似于以下内容: 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

我在熊猫数据框
df
中有一组销售数据,看起来类似于以下内容:

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='lower'
添加到
add\hrect

fig = px.bar(df, x='date', y='sales')

fig.add_hrect(y0=0, y1=2200, line_width=0, fillcolor="red", opacity=0.25, layer='below')
fig.add_hrect(y0=2200, y1=5000, line_width=0, fillcolor="yellow", opacity=0.25, layer='below')
fig.add_hrect(y0=5000, y1=10000, line_width=0, fillcolor="green", opacity=0.25, layer='below')

可以选择将
layer='lower'
添加到
add\u hrect

fig = px.bar(df, x='date', y='sales')

fig.add_hrect(y0=0, y1=2200, line_width=0, fillcolor="red", opacity=0.25, layer='below')
fig.add_hrect(y0=2200, y1=5000, line_width=0, fillcolor="yellow", opacity=0.25, layer='below')
fig.add_hrect(y0=5000, y1=10000, line_width=0, fillcolor="green", opacity=0.25, layer='below')

我不知道
layer='lower'
。这个很好用。谢谢。我不知道
layer='lower'
。这个很好用。非常感谢。