【发布时间】:2014-08-25 16:00:01
【问题描述】:
我有一个使用 python matplotlib.pyplot.bar 构建的 N 个条形图,我想在阴影后为每个条形赋予不同的颜色:
例如,如果 N = 4,我想要:黄色、橙色、浅红色、深红色。我想留在黄红色调。
但我希望阴影以 N 作为参数。
你能帮帮我吗?
【问题讨论】:
标签: python matplotlib colors
我有一个使用 python matplotlib.pyplot.bar 构建的 N 个条形图,我想在阴影后为每个条形赋予不同的颜色:
例如,如果 N = 4,我想要:黄色、橙色、浅红色、深红色。我想留在黄红色调。
但我希望阴影以 N 作为参数。
你能帮帮我吗?
【问题讨论】:
标签: python matplotlib colors
我建议你使用颜色图来完成你想要的。有很多可用的彩色地图,选择您喜欢的或自己制作。
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) 元素。
【讨论】: