熊猫堆积条形图复制大型传说的颜色

Cal*_*leb 3 python matplotlib legend bar-chart pandas

我需要创建一个包含大量(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))
Run Code Online (Sandbox Code Playgroud)

生成条形图,其中H,I和J没有给出独特的颜色.

Tom*_*ger 8

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>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

matplotlib有一堆不同的颜色图可供选择.只是不要使用jet.

  • 谢谢!实际上,你可以在没有"颜色"线的情况下做到这一点:`df.plot(kind ='bar',stacked = True,figsize =(20,10),colormap ="GnBu") (3认同)
  • 这是您可能在答案中包含的所有不同色彩映射的一个很好的链接.[Matplotlib colormaps](http://wiki.scipy.org/Cookbook/Matplotlib/Show_colormaps) (2认同)