基于值的颜色matplotlib条形图

暗池

有没有一种方法可以根据条形图的颜色为条形图的条形着色。例如:

- values below -0.5: red
- values between -0.5 to 0: green
- values between 0 to 08: blue
- etc

我已经找到了一些条形着色的基本示例,但没有任何一个可以满足值范围,例如上述示例。

更新:

谢谢kikocorreoso的建议。当您的示例中两个轴都是数字时,这非常有用。但是,就我而言,我的原始数据结构是pandas数据框。然后,我使用df.stack()并绘制结果。这意味着数据框的行/列成为图的x轴,数据框的单元格为Y轴(条形)。

我已经按照您的示例尝试过遮罩,但是当Y轴是数字而X轴是名称时,它似乎不起作用。例如:

     col1    col2   col3   col4
 row1 1       2      3      4
 row2 5       6      7      8
 row3 9       10     11     12
 row4 13      14     15     16

上面的数据帧需要绘制为条形图,其中行/列组合形成x轴。每个单元格值将是一个条形图。最终,按照原始问题为条形着色。谢谢

kikocorreoso

您可以对数据集使用掩码。一个基本的示例如下:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(10)
y = np.arange(10) * 0.1

mask1 = y < 0.5
mask2 = y >= 0.5

plt.bar(x[mask1], y[mask1], color = 'red')
plt.bar(x[mask2], y[mask2], color = 'blue')
plt.show()

结果应为: 在此处输入图片说明

更新:

当您更新问题时,我会更新代码。对于您的简单情况,如果我理解正确,则可以进行以下(丑陋的)破解:

import pandas as pd

df = pd.DataFrame({'col1':[1,2,3], 'col2':[4,5,6]}, 
                  index = ['row1','row2','row3'])

dfstacked = df.stack()

mask = dfstacked <= 3

colors = np.array(['b']*len(dfstacked))
colors[mask.values] = 'r'

dfstacked.plot(kind = 'bar', rot = 45, color = colors)
plt.show()

或使用更多面向对象的解决方案

该代码简要说明:

  • 我为我的红色列创建遮罩
  • 我创建了一系列颜色
  • 更改颜色数组,以便将其他颜色用于蒙版值
  • 由于dfstacked数据框具有MultiIndex刻度,因此刻度没有很好地打印,因此我使用rot关键字旋转刻度如果要使其自动化以获取良好的绘图,则可以使用plt.tight_layout()before plt.show()

希望对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

chart.js条形图基于值的颜色变化

来自分类Dev

Windows UWP SFChart-基于值的柱形图或条形图图颜色?

来自分类Dev

Python Matplotlib条形图颜色

来自分类Dev

matplotlib 绘制错误的值(条形图)

来自分类Dev

Chart Js-基于值全局设置条形图颜色

来自分类Dev

Highcharts条形图,条形基于值着色

来自分类Dev

Matplotlib条形图,带有不同的颜色条和显示值的条

来自分类Dev

基于单元格颜色的VBA着色条形图

来自分类Dev

在Matplotlib中绘制多个直方图-颜色或并排条形图

来自分类Dev

使用定义的列定义Pandas / Matplotlib的条形图颜色

来自分类Dev

熊猫/ matplotlib条形图,其颜色由列定义

来自分类Dev

定义Matplotlib 3D条形图的颜色

来自分类Dev

堆叠条形图的颜色

来自分类Dev

根据R中的值以渐变颜色显示条形图

来自分类Dev

基于布尔值列Altair的堆叠条形图

来自分类Dev

基于数据框同一行中的布尔值的图表中条形图的颜色

来自分类Dev

Matplotlib:堆积的条形图

来自分类Dev

Matplotlib并排条形图

来自分类Dev

Python:从负Y值开始的Matplotlib条形图

来自分类Dev

Matplotlib条形图显示男性和女性的x值

来自分类Dev

从条形图Matplotlib中删除Nan值

来自分类Dev

Matplotlib条形图:独立调整特定条的alpha值

来自分类Dev

如何分别指定matplotlib堆叠条形图的条形中的颜色?

来自分类Dev

MPAndroidChart条形图值

来自分类Dev

条形图分组时显示条形图的值

来自分类Dev

R ggplot2:基于条件/数字阈值的颜色分组条形图

来自分类Dev

Google堆叠条形图颜色

来自分类Dev

指定条形图pylab的颜色类型

来自分类Dev

更改堆叠条形图的颜色

Related 相关文章

热门标签

归档