填充python中两条曲线之间的区域

Sus*_*l3p 3 python matplotlib scatter-plot python-3.x

我试图对我绘制的两条曲线之间的区域进行着色。这是我绘制的。 在此处输入图片说明

使用以下代码。

plt.scatter(z1,y1, s = 0.5, color = 'blue')
plt.scatter(z2,y2, s = 0.5, color = 'orange')
Run Code Online (Sandbox Code Playgroud)

我尝试使用,plt.fill_between()但要使其工作,我需要在x_axis(需要做类似的事情plt.fill_between(x,y1,y2))上有相同的数据。是否有任何其他功能可能对此有所帮助,或者我只是使用fill_between错误。

Joe*_*Joe 7

您可以尝试:

plt.fill(np.append(z1, z2[::-1]), np.append(y1, y2[::-1]), 'lightgrey')
Run Code Online (Sandbox Code Playgroud)

例如:

import numpy as np
import matplotlib.pyplot as plt

x1 = np.array([1,2,3])
y1 = np.array([2,3,4])
x2 = np.array([2,3,4,5,6])
y2 = np.array([1,2,3,4,5])
# plt.plot(x1, y1, 'o')
# plt.plot(x2, y2, 'x')

plt.scatter(x1, y1, s = 0.5, color = 'blue')
plt.scatter(x2, y2, s = 0.5, color = 'orange')
plt.fill(np.append(x1, x2[::-1]), np.append(y1, y2[::-1]), 'lightgrey')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明