为什么填充部分少了一块,我该如何解决?

我要在图中[a,b]区间填充颜色,本来想用多边形的方法,但觉得直接填充更直接点,我是用的是fill_betweenx的方法,为设么只有y>=0部分被填充了,下面的部分没有被填充?
代码如下:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

#构造数据
x = np.linspace(-2,3,100)
y = -x**2+4


fig,ax = plt.subplots()
line = ax.plot(x,y,lw=2,c='r')
ax.set_xlim(-2,2)
ax.set_ylim(-4,6)

a = -1
b = 1
ax.set_xticks([a,b])
ax.set_xticklabels(['a','b'])
#ax.set_yticks([])

fig.text(0.9,0.05,'x')
fig.text(0.1,0.9,'y')

ax.text(0,-2,r'$\int_{a}^{b}-x^2+4$dx',size=20,family='fantasy',ha='center')


ax.fill_between(x,y,where=(a<=x)&(x<=b))![图片描述][1]

plt.show()

生成效果如下
图片描述

阅读 2.5k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题