我有一个使用python matplotlib.pyplot.bar构建的N个条形图,我想在阴影后给每个条形图一个不同的颜色:
例如,如果N = 4,我想:黄色,橙色,浅红色,深红色。我想保持黄红色调。
但我希望阴影以N为参数。
你能帮我吗?
答案 0 :(得分:2)
我建议您使用颜色贴图来完成您想要的任务。有很多彩色地图可供选择,您可以选择自己喜欢的颜色,也可以自己制作。
import matplotlib.pyplot as plt
import numpy as np
# number of bars
N = 20
# plot a random bar graph
fig = plt.figure()
ax = fig.add_subplot(111)
bars = ax.bar(np.arange(N), np.random.random(N))
# change the colors according to the color map 'jet'
for i, b in enumerate(bars):
b.set_color(plt.cm.jet(1. * i / (N - 1)))
这会创建:
所以,有两点:
bar
会返回一组条形定义自己的色彩图也很容易。或者,如果您只想在两种颜色之间进行线性过渡,则可以完全跳过使用颜色图并进行自己的计算。 set_color
期望接收颜色名称或可迭代的3(RGB)或4(RGBA)元素。