Matplotlib绘制一条连续改变颜色的单行

Cok*_*kes 12 matplotlib

我想绘制(x,y)平面中的曲线,其中曲线的颜色取决于另一个变量T的值.x是1D numpy数组,y是1D numpy数组.

T=np.linspace(0,1,np.size(x))**2
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y)
Run Code Online (Sandbox Code Playgroud)

我希望线条从蓝色变为红色(使用RdBu色彩映射),具体取决于T的值(每个(x,y)对存在一个T值).

我找到了这个,但我不知道如何将它改为我的简单例子.我如何使用linecollection作为我的例子?http://matplotlib.org/examples/pylab_examples/multicolored_line.html

谢谢.

Gre*_*reg 8

一个想法可能是使用color =(R,G,B)设置颜色然后将您的绘图分成n个段并连续改变R,G或B中的任何一个(或组合)

import pylab as plt
import numpy as np

# Make some data
n=1000
x=np.linspace(0,100,n)
y=np.sin(x)

# Your coloring array
T=np.linspace(0,1,np.size(x))**2
fig = plt.figure()
ax = fig.add_subplot(111)

# Segment plot and color depending on T
s = 10 # Segment length
for i in range(0,n-s,s):
    ax.plot(x[i:i+s+1],y[i:i+s+1],color=(0.0,0.5,T[i]))
Run Code Online (Sandbox Code Playgroud)

希望这是有帮助的

格雷格

  • http://stackoverflow.com/questions/13622909/matplotlib-how-to-colorize-a-large-number-of-line-segments-as-independent-gradi/13649811#13649811 (2认同)