python函数图的绘制

python函数图的绘制


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

你可能感兴趣的:(python函数图的绘制)