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()