anaconda,spyder,python3,matplotlib,numpy,pyplot,patches,Polygon
exp,linspace,subplots,figsize,plot,linewidth,ylim,zip,list,facecolor,edgecolor,add_patch,text,figtext,horizontalalignment,fontsize,set_xticks,set_yticks,set_xticklabels,set_yticklabels,grid
积分函数的上下限和定义域取值范围。a,b=0.5,2表示a和b分别赋值为0.5和2;x=np.linspace(0,2.5)表示定义域x的取值为0~2.5之间的等差数列,默认取50个;如图所示
绘制图形。fig,ax=plt.subplots(figsize=(8,5))表示绘制一个8*5的图形;plt.plot(x,y,'b',linewidth=2)表示线条颜色为蓝色,线宽为2;plt.ylim(ymin=0)表示Y轴最小值为0;如图所示
根据积分取值的上下限,使用Polygon函数填充积分面积。from matplotlib.patches import Polygon表示需要加载一下Polygon函数;verts=[(a,0)]+list(zip(Ix,Iy))+[(b,0)]表示积分的区域;poly=Polygon(verts,facecolor='0.7',edgecolor='0.5')表示使用Polygon函数填充积分区域的面积,表面颜色是0.7,边沿颜色是0.5;ax.add_patch(poly)表示将填充的面积添加到图表中;如图所示
给图表添加数学公式和坐标轴标签等。plt.text(0.5*(a+b),1,r'$\int_a^b f(x)\mathrm{d}x$', horizontalalignment='center',fontsize=20)表示在(0.5*(a+b),1)的位置给图表添加一个积分公式,字体是20,积分上下限为a~b,函数是f(x),而horizontalalignment='center'表示水平居中对齐;plt.figtext(0.9,0.075,'$x$')和plt.figtext(0.075,0.9,'$f(x)$')分别表示给X轴和Y轴添加标签;如图所示
设置X轴和Y轴的刻度标签。ax.set_xticks((a,b))表示X轴刻度的位置;ax.set_xticklabels(('$a$','$b$'))表示X轴刻度位置放置的标签内容;ax.set_yticks([func(a),func(b)])表示Y轴刻度的位置;ax.set_yticklabels(('$f(a)$','$f(b)$'))表示Y轴刻度位置放置的标签内容;plt.grid(True)表示给图表添加网格;如图所示
使用全部代码运行结果,查看积分图形,如图所示
add_patch是把对象添加到图形中
matplotlib的绘图一般情况下需要代码一起运行,因为大多数函数都只是添加或修改图形等操作
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。例如:x = [1, 2, 3] y = [4, 5, 6, 7] xy = zip(x, y),结果是[(1, 4), (2, 5), (3, 6)]
Polygon是填充图形面积,需要注意参数的设置
text和figtext分别是放置文本标签和坐标轴标签
set_xticks,set_xticklabels是表示刻度值的标签添加
添加LaTex的标量名称需要用2个$符号包含在内才行