【问题标题】:Pandas bar graph plot with different color for each column based on value基于值的每列具有不同颜色的 Pandas 条形图
【发布时间】:2021-08-23 21:31:01
【问题描述】:

我在一个有 14 列的 pandas 数据框中有数据。我想以条形图的形式绘制它们的值,所以它看起来像下面的图像。 假设我每季度有四个不同地区的销售数据。

我想将条形的颜色更改为红色,例如,如果它高于某个值。在上图中,如果某个地区每季度的销售额大于 60k,则图中相应的条形应该是红色而不是蓝色阴影。当我为单列绘制条形图时,我已经能够实现这一点,但不能同时为多列绘制条形图。如果有人可以使用dataframe.plot() 或任何其他matplotlib 函数指导我解决问题,我将不胜感激。 谢谢

【问题讨论】:

  • 这个问题会更容易回答一些样本数据来生成这个图,你的代码到目前为止,关于这个阈值的细节和超过阈值时应该发生的细节。
  • 感谢@henry-ecker 的提示。我已经用更多细节和示例场景更新了我的问题。

标签: python pandas dataframe data-visualization


【解决方案1】:

经过艰苦的反复试验,我找到了一种解决方案。想法是正常绘制条形图,然后根据一些条件对其进行修改。这是一个示例代码:

....
ax = df.plot(x='column_name', ... , color=colors)
for bar in ax.patches:
  if bar.get_height() > some_value:
    bar.set_color('red')
....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2021-12-23
    • 1970-01-01
    • 2015-01-03
    • 2015-08-09
    • 2020-02-26
    • 1970-01-01
    相关资源
    最近更新 更多