我想在曲线下填充彩虹色.实际上,matplotlib.pyplot.fill_between函数可以用单一颜色填充曲线下的区域.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 100, 50)
y = -(x-50)**2 + 2500
plt.plot(x,y)
plt.fill_between(x,y, color='green')
plt.show()
Run Code Online (Sandbox Code Playgroud)
有没有一个旋钮,我可以调整颜色为彩虹?谢谢.
上图是一幅精美的艺术品,同时显示了风速、风向和温度。详细:
这个简单的图形在没有冗余的情况下可视化了 3 个不同的属性。
所以,我真的很想在 matplotlib 中重现类似的情节。
## Reference 1 http://stackoverflow.com/questions/19390895/matplotlib-plot-with-variable-line-width
## Reference 2 http://stackoverflow.com/questions/17240694/python-how-to-plot-one-line-in-different-colors
def plot_colourline(x,y,c):
c = plt.cm.jet((c-np.min(c))/(np.max(c)-np.min(c)))
lwidths=1+x[:-1]
ax = plt.gca()
for i in np.arange(len(x)-1):
ax.plot([x[i],x[i+1]], [y[i],y[i+1]], c=c[i],linewidth = lwidths[i])# = lwidths[i])
return
x=np.linspace(0,4*math.pi,100)
y=np.cos(x)
lwidths=1+x[:-1]
fig = plt.figure(1, figsize=(5,5))
ax = fig.add_subplot(111)
plot_colourline(x,y,prop)
ax.set_xlim(0,4*math.pi)
ax.set_ylim(-1.1,1.1)
Run Code Online (Sandbox Code Playgroud)
有人有更感兴趣的方法来实现这一目标吗?任何建议将不胜感激!
我对填充具有不同渐变的条形图的 matplotlib/seaborn 条非常感兴趣,就像这里所做的那样(据我所知,不是使用 matplotlib):

我还检查了这个相关的主题Pyplot:曲线下的垂直渐变填充?.
我想在我的轴实例(ax1)坐标系中具有任意尺寸的任意位置绘制一个从左到右填充渐变颜色的矩形。

我的第一个想法是创建一个路径补丁,并以某种方式将其填充设置为颜色渐变。但是根据《本报》的报道,这是没有办法的。
接下来,我尝试使用颜色条。我创建了一个第二轴线实例AX2使用fig.add_axes([left, bottom, width, height])并增加了一个颜色条到。
ax2 = fig.add_axes([0, 0, width, height/8])
colors = [grad_start_color, grad_end_color]
index = [0.0, 1.0]
cm = LinearSegmentedColormap.from_list('my_colormap', zip(index, colors))
colorbar.ColorbarBase(ax2, cmap=cm, orientation='horizontal')
Run Code Online (Sandbox Code Playgroud)
但位置参数传递给fig.add_axes()是坐标系中的无花果,并且不与坐标系匹配AX1。
我怎样才能做到这一点?