我有一个如下的条形图:http://matplotlib.org/examples/api/barchart_demo.html
在那种情况下,我们假设 G1-G5 组中的每一组代表每组中男性在某项考试中获得的平均分数以及每组中女性在同一考试中获得的平均分数。
现在假设我有一些与每个组相关的其他特征(平均喜爱度(在 1-5 之间 float ))。
Ex: Avg Likability of men in G1 - 1.33
Avg Likability of women in G1 - 4.6
Avg Likability of men in G2- 5.0
.... etc...
让我们假设 1 - 不讨人喜欢,5 - 非常讨人喜欢
我想知道如何通过更改颜色示例的阴影将这种讨人喜欢的功能融入每个条形图: 由于上例中第 1 组的男性有 1.33,他们的图表将比 G2 的男性更浅的红色阴影,因为 G2 的男性有 5.0 的亲和性,他们的条形图将是图中最深的红色阴影,并且女性也一样。
我希望我已经说清楚了。如果有人能指出 matplotlib 中可以实现此目的的资源,我将不胜感激,因为我对这个包还很陌生。
提前致谢。
最佳答案
bar
将颜色列表作为参数 (docs) .只需传入您想要的颜色即可。
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import Normalize
from numpy.random import rand
fig, ax = plt.subplots(1, 1)
# get a color map
my_cmap = cm.get_cmap('jet')
# get normalize function (takes data in range [vmin, vmax] -> [0, 1])
my_norm = Normalize(vmin=0, vmax=5)
# some boring fake data
my_data = 5*rand(5)
ax.bar(range(5), rand(5), color=my_cmap(my_norm(my_data)))
plt.show()
关于python - 使用特定值改变条形图中每个条形的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903750/