相关疑难解决方法(0)

是否有可能在matplotlib中获得曲线下的颜色渐变?

我偶然在这个页面上看到了一个漂亮的图表,如下所示:

在此输入图像描述

是否有可能在matplotlib中获得这样的颜色渐变?

python matplotlib

22
推荐指数
3
解决办法
7608
查看次数

如何在Python matplotlib中填充曲线下的彩虹色

我想在曲线下填充彩虹色.实际上,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)

有没有一个旋钮,我可以调整颜色为彩虹?谢谢.

python matplotlib

7
推荐指数
1
解决办法
5036
查看次数

在 matplotlib 中同时更改线宽和颜色

在此处输入图片说明

上图是一幅精美的艺术品,同时显示了风速、风向和温度。详细:

  • X 轴代表日期
  • Y 轴显示风向(南风、西风等)
  • 线的不同宽度代表通过时间序列的风速
  • 线条的不同颜色代表大气温度

这个简单的图形在没有冗余的情况下可视化了 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)

在此处输入图片说明

有人有更感兴趣的方法来实现这一目标吗?任何建议将不胜感激!

python visualization matplotlib

7
推荐指数
1
解决办法
1770
查看次数

如何用渐变填充matplotlib条?

我对填充具有不同渐变的条形图的 matplotlib/seaborn 条非常感兴趣,就像这里所做的那样(据我所知,不是使用 matplotlib): 在此处输入图片说明

我还检查了这个相关的主题Pyplot:曲线下的垂直渐变填充?.

这是否只能通过 gr-framework 实现: 在此处输入图片说明 或者有替代策略吗?

python gradient matplotlib bar-chart seaborn

6
推荐指数
2
解决办法
9764
查看次数

具有颜色渐变填充的Matplotlib矩形

我想在我的轴实例(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

我怎样才能做到这一点?

python matplotlib

5
推荐指数
2
解决办法
3920
查看次数