如何使用颜色过渡在两条线之间着色 space?

How to color space between two lines with a colour transition?

如何使用颜色过渡在两条线之间着色 space?例如,对于灰色——从上线开始的深灰色应该随着向下线的移动而变浅。谢谢

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()
plt.rcParams["figure.figsize"] = [8, 8]

x = np.linspace(0, 1, 100)
y = 0.3*x
ax.set_ylim(-0.2, 0.6)
ax.plot(x, y)
width_l = ax.get_ylim()[1] - ax.get_ylim()[0]
ax.plot(x, y - 0.1*width_l)

plt.show()

编辑

还有这个,好吗?如何让彩色部分的宽度一样?

import matplotlib.pyplot as plt
import numpy as np
import pywt

fig, ax = plt.subplots()
plt.rcParams["figure.figsize"] = [8, 8]

wavelet = pywt.ContinuousWavelet('morl')
psi, x = wavelet.wavefun(level=2)

cmap = plt.get_cmap('Greys_r')

ax.plot(x, psi)
ax.set_xlim(ax.get_xlim()[0], ax.get_xlim()[1])
y_a = ax.get_ylim()
ax.set_ylim(y_a[0],y_a[1]*1.3)
width_l = ax.get_ylim()[1] - ax.get_ylim()[0]
x_range = ax.get_xlim()[1] - ax.get_xlim()[0]
x_shift = x_range * 0.1
ax.plot([x[0]+x_shift, x[1]+x_shift], [psi[0], psi[1]])
ax.plot([x[2]-x_shift, x[3]-x_shift], [psi[2], psi[3]])
ax.plot([x[1], x[2]], [psi[1]-width_l*0.1, psi[2]-width_l*0.1])

for t in np.linspace(0, 1, 40):
    ax.plot(x, psi - t * 0.1 * width_l, color=cmap(t/2 + 0.25))

plt.show()

您可以使用灰度色图中的颜色绘制许多平行线(或曲线)。下面的示例代码使用转换 u = t/2 + 0.25,因此当 t0 变为 1 时,u 将介于 0.250.75 到 select 颜色图中的特定范围,避免非常暗和非常亮的部分。

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()
plt.rcParams["figure.figsize"] = [8, 8]

x = np.linspace(0, 1, 100)
y = 0.3 * x
width_l = ax.get_ylim()[1] - ax.get_ylim()[0]
ax.set_ylim(-0.2, 0.6)
cmap = plt.get_cmap('Greys_r')
for t in np.linspace(0, 1, 40):
    u = t/2 + 0.25
    ax.plot(x, y - t * 0.1 * width_l, color=cmap(u))
ax.plot(x, y)
ax.plot(x, y - 0.1 * width_l)

plt.show()