python函数图的绘制
<pre>
import numpy as np
import matplotlib.pyplot as plt
引入图形绘制
from matplotlib.patches import Polygon
定义函数公式
def func(x):
return -(x-2)*(x-8)+40
生成对应的点
x=np.linspace(0,10)
y=func(x)
绘制图形
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
设置坐标最小的极限值
plt.ylim(ymin=20)
设置a,b两个点
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
清空y轴上的标签
ax.set_yticks([])
添加x,y
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
取a,b内函数上的点
ix=np.linspace(a,b)
iy=func(ix)
将函数上的点转化为坐标的表示方式(x,y)
ixy=zip(ix,iy)
合并为一个数组
verts=[(a,0)]+list(ixy)+[(b,0)]
绘制多边形
poly = Polygon(verts,facecolor='0.9',edgecolor='0.5')
将多边形添加到图形中
ax.add_patch(poly)
设置公式的显示位置
x_math=(a+b)*0.5
y_math=35
画出公式,居中显示,定义字体
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8)+40)dx$",horizontalalignment='center',size=12)
plt.show()
</pre>