matplotlib:通过迭代相关的灰度对线图进行着色

nei*_*nor 3 python plot interpolation colors matplotlib

这里相对编程新手来说。我很难弄清楚如何在一系列迭代中绘制插值函数,随着迭代索引的增加,绘图将从黑色逐渐变为浅灰色。

例如,

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

for t in np.arange(0.,2., 0.4):
    x = np.linspace(0.,4, 100)
    y = np.sin(x-2*t) + 0.01 * np.random.normal(size=x.shape)
    yint = interp1d(x, y)
    plt.plot(x, yint(x))

plt.show()
Run Code Online (Sandbox Code Playgroud)

产生 在此输入图像描述

我希望蓝色的正弦函数是黑色的,其余部分随着 t 的增加而变得更亮、更灰(向右)。我该怎么做呢?

感谢大家的慷慨帮助!

YXD*_*YXD 5

请参阅:http ://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.plot

例如,您可以设置plt.plot(x, yint(x), color=(0.5, 0.5, 0.5))灰线。您可以根据需要设置值(0.0 为黑色,1.0 为白色)。一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

for t in np.arange(0.,2., 0.4):
    x = np.linspace(0.,4, 100)
    y = np.sin(x-2*t) + 0.01 * np.random.normal(size=x.shape)
    yint = interp1d(x, y)
    print t
    col = (t/2.0, t/2.0, t/2.0)
    plt.plot(x, yint(x), color=col)

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述