Python 带有N种不同颜色的条形图在matplotlib中着色
我用python matplotlib.pyplot.bar构建了一个由N个条组成的条形图,我想在阴影关闭后为每个条赋予不同的颜色: 例如,如果N=4,我想要:黄色、橙色、浅红色、深红色。我想穿黄红色的色调 但是我希望阴影取N作为参数Python 带有N种不同颜色的条形图在matplotlib中着色,python,matplotlib,colors,Python,Matplotlib,Colors,我用python matplotlib.pyplot.bar构建了一个由N个条组成的条形图,我想在阴影关闭后为每个条赋予不同的颜色: 例如,如果N=4,我想要:黄色、橙色、浅红色、深红色。我想穿黄红色的色调 但是我希望阴影取N作为参数 你能帮我吗?我建议你用彩色地图来完成你想要的。有很多彩色地图可供选择,选择您最喜欢的或自己制作 import matplotlib.pyplot as plt import numpy as np # number of bars N = 20 # plot
你能帮我吗?我建议你用彩色地图来完成你想要的。有很多彩色地图可供选择,选择您最喜欢的或自己制作
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
- 通过为所需的颜色贴图提供一个介于0到1之间的参数(此处最左侧为0,最右侧为1),可以更改每个条的颜色,但如果需要,可以只拾取颜色贴图的一小部分)
定义自己的颜色贴图也很容易。或者,如果您只想在两种颜色之间进行线性过渡,您可以完全跳过使用颜色贴图并进行自己的计算
set_color
希望收到颜色名称或3(RGB)或4(RGBA)元素列表。感谢您的完整回答!