找回密码
 会员注册
查看: 27|回复: 0

PYTHON绘制常见函数图像

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-9 17:09:00 | 显示全部楼层 |阅读模式
1.安装Matplotlib和NumPy库1)Matplotlib库的使用Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。matplotlib.pyplot是绘制各类可视化图形的命令子库2)引入pyplot子库importmatplotlib.pyplotasplt2.常用方法1)plt.figure()方法创建画布,可以通过参数指定它的大小和背景颜色:plt.figure(figsize=None,facecolor=None)2)plt.subplot()在全局绘图区域绘制一个子图plt.subplot(nrows,ncols,index,**kwargs)3个参数,分别代表网格的行数nrows,列数ncols,索引号index。它们都是位置参数。plt.subplot(pos,**kwargs)3位数的整数,每一位分别代表网格的行数,列数,索引号。pos也是是位置参数。plt.subplot(**kwargs)用默认值创建一个子图。plt.subplot(ax)以一个axes为参数,创建子图。3)plt.axes(rect,axisbg='w')创建一个坐标系风格的子图,用rect参数指定位置,用axisbg参数指定背景颜色。4)plt.rcParamsplt.rcParams["font.sans-serif"]=["SimHei"]#设置字体为黑体plt.rcParams["axes.unicode_minus"]=False#防止负号乱码Matplotlib库默认是不支持中文的,使用中文会产生乱码,如果要使用中文可以在导入库后加入下列两行代码来临时修改配置文件5)plt.title()和plt.suptitle()用plt.title()方法为子图添加,也可以使用plt.suptitle()方法为当前绘图区域添加中心。6)plt.xlabel(s)和plt.ylabel(s)使用plt.xlabel(s)和plt.ylabel(s)方法可以分别设置当前x轴和y轴的标签。7)plt.grid()使用plt.grid()方法可以设置图表中的网格线:plt.grid(b=None,which='major',axis='both',**kwargs)b:可选,默认为None,可以设置布尔值,true为显示网格线,false为不显示,如果设置**kwargs参数,则值为true。which:可选,可选值有‘major’、‘minor’和‘both’,默认为‘major’,表示应用更改的网格线。axis:可选,设置显示哪个方向的网格线,可以是取‘both’(默认),‘x’或‘y’,分别表示两个方向,x轴方向或y轴方向。**kwargs:可选,设置网格样式,可以是color=‘r’,linestyle=‘-’和linewidth=2,分别表示网格线的颜色,样式和宽度。8)plt.plot()使用plt.plot()方法可以绘制曲线图,语法结构如下:plt.plot(x,y,format_string,**kwargs)plt.plot(x,y1,'b-v')x:可选,表示X轴数据,类型为列表或数组。y:表示Y轴数据,类型为列表或数组。format_string:可选,由颜色字符、线条字符、标记字符组成。**kwargs:多组(x,y,format_string),绘制多条曲线。        9)绘制常见图表plt.plot()绘制折线图plt.scatter()绘制散点图plt.bar()绘制柱状图plt.barh()绘制横向柱状图plt.stem()绘制火柴图plt.step()绘制阶梯图plt.hist()绘制直方图plt.boxplot()绘制箱线图plt.errorbar()绘制误差条图plt.violinplot()绘制小提琴图plt.eventplot() 绘制尖峰栅格图plt.hist2d()绘制二维直方图/散点密度图plt.hexbin()绘制Hexbin散点图plt.pie()绘制扇形图官方文档:Matplotlib—VisualizationwithPython10)plt.legend()和plt.figlegend()plt.legend()方法为子图添加图例,也可以使用plt.figlegend()方法为全局绘图区域添加图例,传入一个列表参数来给每条线命名。plt.legend(["√x","x","x^2"])plt.figlegend(["√x","x","x^2"])11)plt.savefig()和plt.show()使用plt.savefig()方法可以保存当前图像,参数为文件保存路径及文件名。使用plt.show()方法可以显示当前图像。3.绘制简单函数图像1)y=x^2importnumpyasnpimportmatplotlib.pyplotasplt#1、准备函数x=np.linspace(-10,10,400)#生成一个x的值,从-10到10,包含400个点y=x**2#2、绘制坐标plt.plot(x,y)#3、设置图像和轴标签plt.title('y=x^2')plt.xlabel('X')plt.ylabel('Y')#4、展示图像plt.show()'运行运行2)三角函数importnumpyasnpimportmatplotlib.pyplotasplt#1、准备函数x=np.linspace(-10,10,400)#生成一个x的值,从-10到10,包含400个点y_sin=np.sin(x)y_cos=np.cos(x)#2、绘制坐标plt.plot(x,y_sin,label='sin(x)')plt.plot(x,y_cos,label='cos(x)')#3、设置图像和轴标签plt.title('sinandcos')plt.xlabel('X')plt.ylabel('Y')plt.legend()#4、展示图像plt.show()'运行运行3)多项式函数:y=x**3-6*x**2+9*x+1importmatplotlib.pyplotasplt#1、准备函数f1=lambdax:x**3-6*x**2+9*x+1x=list(range(-11,11))y=[f1(i)foriinx]#2、绘制坐标#3、设置图像和轴标签plt.plot(x,y,label="多项式")plt.title("多项式函数")plt.xlabel("X")plt.ylabel("Y")plt.legend(["x1"])#子图添加图例#4、展示图像plt.show()'运行运行4)极坐标importnumpyasnpimportmatplotlib.pyplotasplt#极坐标方程#r=a(1−sinθ)#1、准备函数theta=np.linspace(0,2*np.pi,1000)#生成一个x的值,包含400个点r=-1*(1-np.sin(theta))#心型线#2、绘制坐标gra=plt.subplot(111,polar=True)#在全局绘图区域绘制一个子图gra.plot(theta,r,color='red')#plt.plot()方法可以绘制曲线图#3、展示图像plt.show()'运行运行4.绘制3D图像importnumpyasnpimportmatplotlib.pyplotasplt#1、生成坐标x=np.linspace(-5,5,100)#x取值范围y=np.linspace(-5,5,100)#y取值范围X,Y=np.meshgrid(x,y)#2、定制函数defsimple_func(x,y):returnX**2+Y**2#3、计算函数值Z=simple_func(X,Y)#4、绘制图像fig=plt.figure(figsize=(10,8))ax=fig.add_subplot(111,projection="3d")ax.plot_surface(X,Y,Z,cmap='viridis')ax.set_xlabel('X')ax.set_ylabel('Y')ax.set_zlabel('Z')ax.set_title('z=x^2+y^2')plt.show()'运行运行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 20:03 , Processed in 1.749393 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表