熊猫条形图的颜色

时间:2017-11-23 10:49:40

标签: pandas matplotlib colors

[注意]这个问题已经好几次了,但似乎没有一个适用于当前版本的修复。 Define bar chart colors for pandas matplotlib with defined columnMatplotlib Bar Chart choose color if value is positive vs value is negative中提到的两种解决方案都不再适用

我想用条形图绘制数据框,并根据值指定颜色。低于阈值的所有值应为红色,高于绿色。

我的数据框看起来像这样: A是指数,'%'唯一的一栏

   A      %
--------------
   a      1
   b      10
   c      50
   d      80

我希望50以下的所有东西都是红色的,其余的都是蓝色的。数据框已按正确的升序排列。

我已经尝试了上述颜色的字典解决方案(添加了一个额外的列),没有成功;还有一些其他解决方案,比如将df分成两个数据帧(一个数值超过阈值,一个数值低于以下数据)。

试图循环显示不同颜色的列表似乎不起作用:

df.plot(kind = 'bar', ax=axes3, color = ['r', 'g', 'b'])

所有列都在这里显示为红色。

我已经在this question中尝试了解决方案,添加了一个列'颜色'区分“红色”和“红色”之间的值。和'蓝色'。

   A      %    colors
--------------
   a      1     red
   b      10    red
   c      50    blue
   d      80    blue

我把它添加到我的代码中:

 color = df.colors.map({'red': 'r', 'blue': 'b'})

仍然,我的所有列都是红色的。

0 个答案:

没有答案