我正在尝试用fill_between
填充图表下的区域。我可以让它与单一的颜色(比如红色)一起工作,但我不能得到一个梯度图下的图表使用颜色图。从fill_between
documentation我理解我应该能够使用颜色Map用渐变填充该区域,但我无法使它工作。颜色图加载正确,因为我可以从加载的颜色图中访问单独的颜色,并用所述颜色填充区域。
最小工作示例:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
colourmap = mpl.cm.get_cmap('jet')
singlecolor = mpl.cm.get_cmap('jet')(500)
xx = np.arange(0,10,0.1)
yy = xx*np.exp(-xx)
plt.figure()
plt.plot(xx,yy)
plt.fill_between(xx,yy,cmap=colourmap,alpha=0.3)
# plt.fill_between(xx,yy,color=singlecolor,alpha=0.3)
plt.show()
我没有收到错误消息,我使用的是Python 3.8。如何使用颜色图进行填充?
2条答案
按热度按时间2lpgd9681#
可以提取填充的多边形,然后将其用作图像的剪辑多边形。由于
imshow()
设置了严格的x和y限制,因此可以重新应用这些限制。使用np.linspace(0, 1, 256).reshape(-1, 1)
作为水平渐变,或使用...resphape(1,-1)
作为垂直渐变。nue99wik2#
您可以使用下面的代码,它将填充100倍的小梯形,以填充整个颜色Map调色板的曲线下的区域。
这将产生以下图表: