Pandas 堆积条形图为大型图例重复颜色

Posted

技术标签:

【中文标题】Pandas 堆积条形图为大型图例重复颜色【英文标题】:Pandas stacked bar chart duplicates colors for large legends 【发布时间】:2014-02-16 19:32:31 【问题描述】:

我需要创建一个包含大量(10 个左右)类别的堆积条形图。问题是 Pandas 最多只能为 7 个不同的类别提供颜色。它将剩余的颜色设置为蓝色。如何确保每个类别都有唯一的颜色?

例子:

df = pd.DataFrame(np.abs(np.random.randn(10,10)),columns=['A','B','C','D','E','F','G','H','I','J'], index=range(10))
df.plot(kind='bar',stacked=True,figsize=(20,10))

生成一个条形图,其中 H、I 和 J 没有被赋予唯一的颜色。

【问题讨论】:

【参考方案1】:
In [22]: colors = plt.cm.GnBu(np.linspace(0, 1, 10))

In [23]: df.plot(kind='bar', stacked=True, figsize=(20, 10), color=colors)
Out[23]: <matplotlib.axes._subplots.AxesSubplot at 0x10b792d90>

matplotlib 有许多不同的颜色图可供选择。只是不要使用jet

【讨论】:

这是一个很好的链接,指向您可能包含在答案中的所有不同颜色图。 Matplotlib colormaps 谢谢!实际上,你可以在没有“颜色”行的情况下做到这一点:df.plot(kind='bar', stacked=True, figsize=(20, 10), colormap="GnBu")

以上是关于Pandas 堆积条形图为大型图例重复颜色的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2016 堆积条形图图例:更改标签标题

带有ggplot2的发散堆积条形图:图例中的因子排序问题

Visual Studio 2016堆积条形图图例:更改标签标题

Plotly:如何重命名 plotly express 堆积条形图的图例元素?

如何关闭 ggplot 堆叠条形图中的颜色图例?所有解决方案都失败了

Pandas 并排堆积条形图