Python 如何为Plotly条形图指定颜色?

Python 如何为Plotly条形图指定颜色?,python,python-3.x,plotly,Python,Python 3.x,Plotly,我有几行代码创建了一个伟大的条形图 import plotly.express as px fig = px.bar(df, x="site_name", y="value", color="variable", title="2019 & 2020 Revenue vs. Expenses") fig.show() 下面是一些示例数据 # Import pandas library import pan

我有几行代码创建了一个伟大的条形图

import plotly.express as px
fig = px.bar(df, x="site_name", y="value", color="variable", title="2019 & 2020 Revenue vs. Expenses")
fig.show()
下面是一些示例数据

# Import pandas library 
import pandas as pd 
  
# initialize list of lists 
data = [['14', '20 Hudson Yards_IB', 'revenue', '2651324.42'], 
        ['5', '5 Camden Yards', 'revenue', '2772115.61'],
        ['12', 'PHO_SUNS', 'revenue', '2818249.28'],
        ['87', 'OSUMC--MAIN', 'expense', '4300628.21'],
        ['7', 'DA STADIUM', 'expense', '6452307.48'],
        ['99', '50 Midtown East', 'expense', '3534523.12']] 
  
# Create the pandas DataFrame 
df_result = pd.DataFrame(data, columns = ['index', 'site_name', 'variable', 'value']) 
# print dataframe. 
df_result
结果:

     index      site_name              variable       value
0    14         20 Hudson Yards_IB     revenue        2651324.42
1    5          5 Camden Yards         revenue        2772115.61
2    12         PHO_SUNS               revenue        2818249.28
3    87         OSUMC--MAIN            expense        4300628.21
4    7          DA STADIUM             expense        6452307.48
5    99         50 Midtown East        expense        3534523.12

图表几乎正是我想要的,但我试图为两个变量获得两种特定的颜色。一个变量是“收入”,一个变量是“费用”。现在,使用上面显示的默认代码,我的图表是红色表示收入,蓝色表示支出。我真正想做的是使“收入”变为绿色,“支出”变为红色。如何控制这一点?

使用
颜色\u离散\u顺序
并指定顺序,使用
类别\u顺序

fig = px.bar(df, x="site_name", y="value", color="variable", 
             color_discrete_sequence=["green","red"], 
             category_orders={"variable":["Revenue","Expenses"]}, 
             title="2019 & 2020 Revenue vs. Expenses")
或者使用
color\u discrete\u map

fig = px.bar(df, x="site_name", y="value", color="variable", 
             color_discrete_map={"Revenue": "green", "Expenses":"red"}, 
             category_orders={"variable":["Revenue","Expenses"]}, 
             title="2019 & 2020 Revenue vs. Expenses")

使用
color\u discrete\u sequence
指定顺序,使用
category\u orders

fig = px.bar(df, x="site_name", y="value", color="variable", 
             color_discrete_sequence=["green","red"], 
             category_orders={"variable":["Revenue","Expenses"]}, 
             title="2019 & 2020 Revenue vs. Expenses")
或者使用
color\u discrete\u map

fig = px.bar(df, x="site_name", y="value", color="variable", 
             color_discrete_map={"Revenue": "green", "Expenses":"red"}, 
             category_orders={"variable":["Revenue","Expenses"]}, 
             title="2019 & 2020 Revenue vs. Expenses")

我忙于工作中的其他事情;现在回到这里。我用一些样本数据更新了我的原始帖子。谢谢你的关注。我在工作中忙于其他事情;现在回到这里。我用一些样本数据更新了我的原始帖子。谢谢你的装扮,太棒了!非常感谢你!!“这个问题”下的另一个链接在这里已经有了答案:“也是非常有用的!!令人惊叹的!非常感谢你!!“这个问题”下的另一个链接在这里已经有了答案:“也是非常有用的!!