我正在尝试在该示例代码生成的两条曲线相交点之前填充区域。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0,100,10)
y1 = [0,2,4,6,8,5,4,3,2,1]
y2 = [0,1,3,5,6,8,9,12,13,14]
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(t_list,y1,linestyle='-')
ax.plot(t_list,y2,linestyle='--')
plt.show()
仅需使用以下代码:
ax.fill_between(x,y1,y2,where=y1>=y2,color='grey',alpha='0.5')
无法工作,并出现以下错误:“ValueError:参数尺寸不兼容”
我尝试将列表转换为数组:
z1 = np.array(y1)
z2 = np.array(y2)
然后:
ax.fill_between(x,y1,y2,where=z1>=z2,color='grey',alpha='0.5')
并非整个区域都被遮蔽了。
我知道我必须通过插值找到两条曲线的交点,但我还没有看到一个简单的方法来做这件事。