Python-Matplotlib 26 函数积分图

 

 

EG1:

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

def func(x):
    return -(x-2)*(x-8) + 40

x = np.linspace(0,10)
print(x )
y = func(x)
print(y)

fig, ax = plt.subplots()
plt.plot(x, y ,'r' , linewidth=1)

a=2
b=9
ax.set_xticks([a,b])
ax.set_yticks([])
ax.set_xticklabels(['$a$', '$b$'])
plt.figtext(0.9 , 0.1 , '$x$')
plt.figtext(0.1, 0.9, '$y$')


ix = np.linspace(a,b)
iy = func(ix)

verts = [(a,0)]+ list(zip(ix, iy)) + [ (b,0)]
poly =  mPatches.Polygon(verts , facecolor='0.9' , edgecolor='0.1')
ax.add_patch(poly)

plt.text((a+b)*0.5 * 0.7 , 35 , r'$\int_a^b (-(x-2) * (x-8) + 40) dx$')

plt.show()

  

posted @ 2017-02-24 10:03  ZSR0401  阅读(1487)  评论(0编辑  收藏  举报