【问题标题】:Pandas stacked bar chart duplicates colors for large legendsPandas 堆积条形图为大型图例重复颜色
【发布时间】: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 没有被赋予唯一的颜色。

【问题讨论】:

    标签: python matplotlib pandas bar-chart legend


    【解决方案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")
    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 2020-01-30
    相关资源
    最近更新 更多