我有两条由两组数组定义的曲线:(x1, y1)
和 (x2, y2)
我想在它们之间填充多边形。所有数组的长度都相同,但 x1
和 x2
包含不同的值。
plt.fill_between(x, y1, y2)
要求两条曲线共享相同的 x 数组。
我该如何做 fill_between(x1, y1, x2, y2)
之类的事情?
例如如果:
x1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
和 y1 = np.array([3.0, 2.0, 3.0, 2.0, 3.0])
定义第一条曲线
和
x2 = np.array([1.5, 2.5 ,3.5 ,4.5 , 5.5])
和 y2 = np.array([5.0, 6.0, 7.0, 8.0, 9.0])
定义第二个。
如何使用四个多边形(左右边界不需要垂直)在曲线 (x1, y1)
和 (x2, y2)
之间填充颜色?
澄清一下,四个多边形(A、B、C、D)的坐标是:
A: [(1.0, 3.0), (1.5, 5.0), (2.5, 6.0), (2.0, 2.0)]
B: [(2.0, 2.0), (2.5, 6.0), (3.5, 7.0), (3.0, 3.0)]
C: [(3.0, 3.0), (3.5, 7.0), (4.5, 8.0), (4.0, 2.0)]
D: [(4.0, 2.0), (4.5, 8.0), (5.5, 9.0), (5.0, 3.0)]
最佳答案
我正在努力明确地解释您的问题,但我认为您只想使用 fill
,例如:
import numpy as np
import matplotlib.pyplot as plt
x1 = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
y1 = np.array([3.0, 2.0, 3.0, 2.0, 3.0])
x2 = np.array([1.5, 2.5, 3.5, 4.5, 5.5])
y2 = np.array([5.0, 6.0, 7.0, 8.0, 9.0])
plt.plot(x1, y1, 'o')
plt.plot(x2, y2, 'x')
plt.fill(
np.append(x1, x2[::-1]),
np.append(y1, y2[::-1]),
)
给你
关于python - 在 matplotlib 中,如何在由两组不同数组定义的两条曲线之间进行填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54255797/