Python fill_between和fill_between之间的不同matplotlib

Python fill_between和fill_between之间的不同matplotlib,python,matplotlib,Python,Matplotlib,我无法理解如何在matplotlib中使用fill\u betweenx()。它与fill_between()有何不同?阅读了fill\u 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之间的正弦曲线,但我得到:

我无法理解如何在matplotlib中使用
fill\u betweenx()
。它与
fill_between()
有何不同?阅读了
fill\u 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之间的正弦曲线,但我得到:


有人能给我解释一下为什么没有填充吗?

您似乎想填充正弦曲线,例如,在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)

plt.fill_betweenx(x,y,where=(x>2) & (x<=3), color='b')
plt.plot(y,x)