我想在(x,y)平面上绘制一条曲线,曲线的颜色取决于另一个变量T的值。x是一维numpy数组,y是一维numpy数组。

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


我希望根据T的值(每对(x,y)对存在一个T值),将线从蓝色更改为红色(使用RdBu色彩图)。

我找到了这个,但是我不知道如何将其扭曲到我的简单示例中。我将如何使用linecollection作为示例? http://matplotlib.org/examples/pylab_examples/multicolored_line.html

谢谢。

最佳答案

一种想法可能是使用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]))


希望这会有所帮助

关于matplotlib - Matplotlib绘制连续变化颜色的单线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16051270/

10-16 01:02