我已经能够使用r,g,b等基本颜色来更改绘图的面色。但是,我正在开发一个项目,因此我需要准备一个视觉上令人愉悦的演示文稿,并且我想使用颜色范围,例如here列出的颜色。这是我正在使用的代码(我希望图形下方的区域被着色):

fig = plt.figure(num=None, figsize=(30, 50))
ax1 = fig.add_subplot(2,1,1)
ax1.plot(x, y, 'k-')
ax1.fill_between(x, min(y), y, facecolor='#8B0000')


但是,当我使用十六进制颜色时,facecolor不会执行任何操作,但是当我使用'r','b'等时,它会起作用。是否有任何方法可以对fill_between使用十六进制颜色代码?

最佳答案

According the docs facecolor接受matplotlib颜色arg或rgba元组的序列。如果要使用十六进制颜色,则必须首先将十六进制值转换为正确的格式。看一下matplotlib.colors模块。我对图书馆不是很熟悉,但是hex2color可能有用。

08-16 13:52