微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据python中值的大小生成颜色?

如何解决如何根据python中值的大小生成颜色?

然后您可以使用matplotlib中的颜色图(额外文档

在此示例bar_colors中,创建的列表具有 0 到 100 之间的比例,但您可以根据需要选择比例。

import matplotlib.pyplot as plt
import matplotlib.colors
fig, ax = plt.subplots()

names= ['A', 'B', 'C', 'D', 'E']
counts = [10, 30, 40, 55, 100]

cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", ["red","orange", "green"])

bar_colors = [cmap(c/100) for c in counts]

ax.bar(names, counts,  color=bar_colors)
ax.set_ylabel('Frequency')
ax.set_title('Names')
plt.show()

请注意,您可以根据cmap需要使用颜色列表来实例化。

另外,请确保在调用cmap()您可以使用 [0,1] 之间的浮点数。

解决方法

我正在尝试在 python 中制作一个条形图,以便根据该值的大小设置每个条形的颜色。例如下面的列表是我们的号码:

List = [2,10,18,50,100,... 500]

在这种情况下,2 应该有最浅的颜色,而 500 应该有最深的颜色值。下面来自excel的图片显示了我的意思:

在此处输入图像描述

我感谢对我有帮助的答案。谢谢你。

更新:

import matplotlib.pyplot as plt

fig,ax = plt.subplots()

names= ['A','B','C','D']
counts = [30,40,55,100]
bar_colors = ['blue']

ax.bar(names,counts,color=bar_colors)
ax.set_ylabel('Frequency')
ax.set_title('Names')
plt.show()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。