我正在尝试基于两个垂直坐标创建一个阴影矩形(矩形的长度应跨越整个x轴)。
我尝试将fill_between
与以下内容配合使用(p1和p2是数据坐标):
f, ax1 = plt.subplots()
x = np.linspace(200,300,2000)
y = x**(2)
y1 = x
p1 = 4700
p2 = 7700
ax1.plot(x, y, lw=2)
ax1.set_xlabel('Temperature $[K]$', fontweight='bold')
ax1.set_ylabel('Pressure $[mb]$', fontweight='bold')
ax1.fill_between(x, y1.fill(p1), y1.fill(p2))
但我收到以下错误:
TypeError: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
怎么了?还有更好的方法吗?
谢谢!!
最佳答案
您可能打算使用axhspan
。
p1 = 4700
p2 = 7700
ax1.axhspan(p1, p2, color="limegreen", alpha=0.5)
关于python - matplotlib中2 y坐标之间的阴影区域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50646523/