2014-01-25 3 views
3

많은 수의 (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는 고유 한 색상을 부여하지 막대 그래프를 생성.

답변

7
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> 

enter image description here

하기 matplotlib가 선택할 수있는 다른 색상 맵의 무리가 있습니다. jet을 사용하지 마십시오.

+2

여기에 답안에 포함시킬 수있는 모든 색상 맵에 대한 멋진 링크가 있습니다. [Matplotlib colormaps] (http://wiki.scipy.org/Cookbook/Matplotlib/Show_colormaps) –

+2

고마워요! 실제로, 당신은 그것을 밝혀내는 "색깔"선없이 그것을 할 수있다 : 'df.plot (kind = 'bar', stacked = True, figsize = (20, 10), colormap = "GnBu")' – Caleb

관련 문제