Python 熊猫堆叠条形图为大型图例复制颜色

Python 熊猫堆叠条形图为大型图例复制颜色,python,matplotlib,pandas,bar-chart,legend,Python,Matplotlib,Pandas,Bar Chart,Legend,我需要创建一个包含大量(10个左右)类别的堆叠条形图。问题是熊猫只为多达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)) 生成一

我需要创建一个包含大量(10个左右)类别的堆叠条形图。问题是熊猫只为多达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没有指定唯一的颜色。

In[22]:colors=plt.cm.GnBu(np.linspace(0,1,10))
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>
在[23]中:df.plot(kind='bar',stacked=True,figsize=(20,10),color=colors) 出[23]:


matplotlib有一系列不同的颜色贴图可供选择。只是不要使用
jet

这里有一个很好的链接,可以链接到答案中可能包含的所有不同的颜色贴图。谢谢实际上,你可以不用“colors”这一行来完成它:
df.plot(kind='bar',stacked=True,figsize=(20,10),colormap=“GnBu”)