响应式网站注意事项,网站制作开发教程,电子商务入门,手机网游本篇内容会在后期不定时更新什么是matplotlibmatplotlib是最流行的python底层绘图库#xff0c;主要做数据可视化图表。为什么要学习matplotlib能将数据进行可视化#xff0c;更直观的呈现使数据更加客观#xff0c;更具有说服力二维图绘制matplotlib库的基本使用之折线图导…本篇内容会在后期不定时更新什么是matplotlibmatplotlib是最流行的python底层绘图库主要做数据可视化图表。为什么要学习matplotlib能将数据进行可视化更直观的呈现使数据更加客观更具有说服力二维图绘制matplotlib库的基本使用之折线图导入matplotlib库frommatplotlibimportpyplotaspltxrange(1,10,2)y[2,4,6,8,10]plt.plot(x,y)# 传入x y ,通过plot绘制折线图plt.show()# 展示图形展示结果matplotlib还可以设置输出图片的一些格式如下设置图片的大小像素保存到本地描述信息比如x y轴所要表达的内容调整x y轴的间距线条的样式标记出特殊的点给图片添加水印设置图片的大小figplt.figure(figsize(20,8),dpi80)输出的样式就会发生改变保存图片plt.savefig(example.png)一保存到本地调整x y轴的刻度xrange(1,20,2)y[2,4,6,8,10,12,14,16,18,20]plt.xticks(x)# 修改x轴的刻度plt.yticks(y)# 修改y轴的刻度修改后的图像修改步长当x轴的刻度太密集时可采用修改步长的方法达到疏一点的刻度当然y轴同样。plt.xticks(x[::2])结果如下设置显示中文frompylabimportmpl# 设置显示中文mpl.rcParams[font.sans-serif][FangSong]设置x y轴及标题的标签plt.xlabel(奇数)# 设置x轴的标签plt.ylabel(偶数)# 设置y轴的标签plt.title(示例)# 设置标题的标签输出结果如下绘制网格绘制网格可以更加明确的看出数据之间的关系当然网格也可以调节透明度来更加易于观查数据透明度的数值为0-1之间0表示完全透明1表示完全不透明。plt.grid()# 采用默认的透明度plt.grid(alpha0.5)# 透明度为0.5时的网格输出结果设置图标ax.plot(z_1,labelcurb)#立方数据线ax.plot(Y_1,labelquer,linewidth5)#平方数据线ax.plot(x,x,labelliner,linewidth5)#直线ax.legend(locbest)#添加图标效果散点图的绘制散点图的绘制方法散点图绘制采用scatter()函数只需传入x和y的值即可代码如下importmatplotlib.pyplotasplt# 导入库fig,axplt.subplots()# 调用subplotsax.scatter(X,Y)# 传入x和有fig.show()# 展示数据还是上面的例子做展示改为散点图。代码如下版本一importmatplotlib.pyplotaspltfig,axplt.subplots()x[iforiinrange(10)]# 设置x轴数据Y_1[i**2foriinrange(10)]# 设置y轴平方数据z_1[i**3foriinrange(10)]# 设置y轴立方数据ax.scatter(x,z_1,labelcurb)# 立方数据线ax.scatter(x,Y_1,labelquer,linewidth5)# 平方数据线ax.scatter(x,x,labelliner,linewidth5)# 直线ax.legend(locbest)#设置图标plt.savefig(data.png)# 保存图片fig.show()# 展示图片版本二importmatplotlib.pyplotaspltx[iforiinrange(10)]# 设置x轴数据Y_1[i**2foriinrange(10)]# 设置y轴平方数据z_1[i**3foriinrange(10)]# 设置y轴立方数据plt.scatter(x,z_1,labelcurb)# 立方数据线plt.scatter(x,Y_1,labelquer,linewidth5)# 平方数据线plt.scatter(x,x,labelliner,linewidth5)# 直线plt.legend(locbest)#设置图标plt.savefig(散点图.png)# 保存图片plt.show()# 展示图片效果柱图绘制柱状图的绘制方法为bar和barh方法bar绘制垂直柱状图barh绘制水平柱状图。bar柱状图绘制frommatplotlibimportpyplotaspltfrompylabimportmplfigureplt.figure(figsize(20,15))# 设置图像大小# 设置字体mpl.rcParams[font.sans-serif][FangSong]# 电影名称title[误杀,流浪地球,寻梦环游记,战狼2,美人鱼,湄公河行动,叶问4,何以为家,比悲伤更悲\n伤的故事,中国合伙人]# 电影票房data[11.97,46.18,12.02,56.39,33.9,11.73,11.72,3.7,9.46,5.39]# 绘制柱状图传入x和yplt.bar(title,data)# 设置x轴刻度字体的大小plt.xticks(fontsize30)# 设置y轴刻度字体的大小plt.yticks(fontsize30)# 设置x轴的标签名称plt.xlabel(票房/亿,fontsize30)# 设置y轴的标签名称plt.ylabel(电影,fontsize30)# 绘制网格plt.grid(alpha0.5)# 保存图片plt.savefig(柱状图.png)# 展示图片figure.show()效果barh水平柱状图的绘制。barh方法frommatplotlibimportpyplotaspltfrompylabimportmplfigureplt.figure(figsize(20,15))# 设置图像大小# 设置字体mpl.rcParams[font.sans-serif][FangSong]# 电影名称title[误杀,流浪地球,寻梦环游记,战狼2,美人鱼,湄公河行动,叶问4,何以为家,比悲伤更悲\n伤的故事,中国合伙人]# 电影票房data[11.97,46.18,12.02,56.39,33.9,11.73,11.72,3.7,9.46,5.39]# 绘制柱状图传入x和yplt.bar(title,data)# 设置x轴刻度字体的大小plt.xticks(fontsize30)# 设置y轴刻度字体的大小plt.yticks(fontsize30)# 设置x轴的标签名称plt.xlabel(票房/亿,fontsize30)# 设置y轴的标签名称plt.ylabel(电影,fontsize30)# 绘制网格plt.grid(alpha0.5)# 保存图片plt.savefig(柱状图.png)# 展示图片figure.show()效果间隔柱状图绘制有时需要将多组数据绘制到同一个图表上这时就需要间隔各个图表的内容详情见代码。frommatplotlibimportpyplotaspltimportnumpyasnpfrompylabimportmplmpl.rcParams[font.sans-serif][FangSong]movie_name[千与千寻,玩具总动员,黑衣人]# 三天内票房num1[7548,4013,1673]num2[5453,1840,1080]num3[4383,2345,1890]xnp.arange(len(movie_name))# 设置柱宽width0.2# 绘制柱状图,alpha设置透明度width设置柱宽label设置图标plt.bar(x,num1,alpha0.5,widthwidth,labelmovie_name[0])# num2图加上一个柱宽plt.bar([iwidthforiinx],num2,alpha0.5,widthwidth,labelmovie_name[1])# num3图加上两个柱宽plt.bar([i2*widthforiinx],num3,alpha0.5,widthwidth,labelmovie_name[2])# 设置x轴的值x_label[第{}天.format(i1)foriinx]# 偏移x轴的值plt.xticks([iwidthforiinx],x_label)# 设置x,y轴的标签fontsize设置字体的大小plt.ylabel(票房,fontsize15)plt.xlabel(天数,fontsize15)# 设置图标loc设置图标位置plt.legend(locbest)# 保存图片plt.savefig(间隔柱状图.png)# 展示图表plt.show()效果饼状图绘制饼状图的绘制含函数为pie()传入相应比例即可具体参数见代码。代码如下frommatplotlibimportpyplotaspltfrompylabimportmpl# 设置显示中文mpl.rcParams[font.sans-serif][FangSong]# 男生人数man72351# 女生人数woman81345# 人妖人数mid_person2300# 计算男生比例man_percman/(manwomanmid_person)# 计算女生比例woman_percwoman/(manwomanmid_person)# 计算人妖比例mid_percmid_person/(manwomanmid_person)# 添加名称labels[男,女,人妖]# 修改颜色colors[blue,orange,red]# 绘制饼状图传入的为列表。explode为饼状图添加分裂效果,传入参数为元组第一个参数为可为0第二个参数分割距离。autopct为饼状图添加显示比例。paches,texts,autotextsplt.pie([man_perc,woman_perc,mid_perc],colorscolors,labelslabels,explode(0,0,0.02),autopct%0.1f%%)# 修改字体颜色fortextintextsautotexts:text.set_color(black)# 设置字体大小fortextintextsautotexts:text.set_fontsize(15)plt.savefig(饼状图.png)# 展示图像plt.show()效果直方图绘制随机正太分布直方图直方图的绘制的函数为hist()传入相应的正太值即可。详细见代码。代码如下frommatplotlibimportpyplotaspltimportnumpyasnp# 生成1000个标志的正太分布随机xnp.random.randn(1000)# 修改柱的宽度使用bins,值越小图像越宽。plt.hist(x,bins100)plt.savefig(随机正太分布直方图.png)plt.show()效果指定期望与均值的直方图调用numpy库中的np.random.normal()即可指定期望与均值详情见代码。代码如下frommatplotlibimportpyplotaspltimportnumpyasnp# 使用np.random.normal()指定期望与均值的正太分布0为期望0.8为均值1000为生成的个数。# 绘制三个指定期望与均值的正太分布xnp.random.normal(0,0.8,1000)ynp.random.normal(0,0.5,1000)znp.random.normal(0,0.7,1000)# 传入关键字参数为字典形式。**kwargs为包裹关键字参数kwargsdict(bins100,alpha0.5)# 绘制直方图plt.hist(x,**kwargs)plt.hist(y,**kwargs)plt.hist(z,**kwargs)# 保存图片plt.savefig(指定期望与均值直方图.png)# 展示图片plt.show()效果