Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有N种不同颜色的条形图在matplotlib中着色_Python_Matplotlib_Colors - Fatal编程技术网

Python 带有N种不同颜色的条形图在matplotlib中着色

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

我用python matplotlib.pyplot.bar构建了一个由N个条组成的条形图,我想在阴影关闭后为每个条赋予不同的颜色:

例如,如果N=4,我想要:黄色、橙色、浅红色、深红色。我想穿黄红色的色调

但是我希望阴影取N作为参数


你能帮我吗?

我建议你用彩色地图来完成你想要的。有很多彩色地图可供选择,选择您最喜欢的或自己制作

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)元素列表。

感谢您的完整回答!