我不能理解如何在matplotlib中使用fill_betweenx()。它与fill_between()有什么不同?在阅读了fill_betweenx()的文档后,我尝试实现它:
x=np.linspace(0,2*3.14,50)
y=np.sin(x)
plt.figure(figsize=(10,5))
plt.fill_betweenx(y,2,3,color='b')
plt.plot(x,y)根据我的理解,它应该用蓝色填充x=2和x=3之间的正弦曲线,但我得到了:

有人能给我解释一下为什么没有装满吗?
发布于 2018-07-09 18:07:27
你似乎想要填充正弦曲线,例如y=0和正弦之间的曲线。您可以使用where将此填充限制在x坐标的范围内。
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,2*3.14,50)
y=np.sin(x)
plt.fill_between(x,y,0,where=(x>2) & (x<=3),color='b')
plt.plot(x,y)

相反,如果您想在x方向上的曲线之间进行填充,则可以使用fill_betweenx。例如。
plt.fill_betweenx(x,y,where=(x>2) & (x<=3), color='b')
plt.plot(y,x)

https://stackoverflow.com/questions/51242154
复制相似问题