我试图在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()发布于 2022-09-30 08:46:17
然后可以使用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之间的浮点数。
https://stackoverflow.com/questions/73905610
复制相似问题