Python Plotly:如何为类别指定特定颜色?

Python Plotly:如何为类别指定特定颜色?,python,python-3.x,colors,plotly,plotly-python,Python,Python 3.x,Colors,Plotly,Plotly Python,我有一个发电组合的数据框架。因此,它由不同燃料的发电组成。我想为特定的燃料指定特定的颜色。 在Matplotlib中,通过传递颜色列表,可以方便地将特定颜色指定给特定类别,例如: 绘图(kind=“bar”,color=[“红色”、“绿色”、“黄色”] 我无法为使用Plotly的绘图指定类似的颜色。在Plotly中为特定类别指定特定颜色的最佳方法是什么? 在plotly express中,您应该能够使用参数color\u discrete\u sequence明确定义颜色序列。请尝试运行: f

我有一个发电组合的数据框架。因此,它由不同燃料的发电组成。我想为特定的燃料指定特定的颜色。 在Matplotlib中,通过传递颜色列表,可以方便地将特定颜色指定给特定类别,例如:

绘图(kind=“bar”,color=[“红色”、“绿色”、“黄色”]

我无法为使用Plotly的绘图指定类似的颜色。在Plotly中为特定类别指定特定颜色的最佳方法是什么?

在plotly express中,您应该能够使用参数
color\u discrete\u sequence
明确定义颜色序列。请尝试运行:

fig=px.bar(df1, title="Electricity generation mix of Germany in TwH (2000-2019)", color_discrete_sequence=["black","grey","lightgrey","red","rosybrown","blue","limegreen","yellow","forestgreen"])

如果您的目标是为特定的燃料指定特定的颜色,那么只要数据集的结构不发生变化,
color\u discrete\u sequence
就可以很好地为您工作。但是,为每个类别指定颜色的方法最好通过以下方式完成:

color_discrete_map = <dict>
这样,您就不必依赖变量序列来匹配所需颜色的序列

示例图(使用不同但结构相同的数据集)

完整代码
对于其他选项,请查看?在那里,您将发现如何将颜色序列更改为您想要的颜色,并通过
color\u discrete\u map

指定som异常。这是最通用的方法。谢谢。它对我很有用。
fig = px.bar(df, color_discrete_map= {'Coal': 'black',
                                      'Oil': 'grey',
                                      'Gas': 'blue'}
            )
import plotly.express as px
import pandas as pd
df = px.data.stocks().set_index('date')
fig = px.bar(df, color_discrete_map= {'GOOG': 'black',
                                      'AAPL': 'grey',
                                      'AMZN': 'blue',
                                      'FB': 'green',
                                      'NFLX': 'red',
                                      'MSFT':'firebrick'}
            )
fig.show()