文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python Matplotlib绘图实例分析

2023-07-02 14:21

关注

这篇文章主要介绍“Python Matplotlib绘图实例分析”,在日常操作中,相信很多人在Python Matplotlib绘图实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python Matplotlib绘图实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 画图的基本步骤

导入模块

import matplotlib as mplimport matplotlib.pyplot as plt

创建画板,然后对画板进行调整

定义数据

绘制图形(包含坐标轴的设置,数据的导入,线条的样式,颜色,还有,图例,等等)

plt.show()

1.1一步一步看

1.1**(一)第一步:创建并定义一个"画板"**(你将要在你定义的画板上面进行画图操作).

fig=plt.figure()#定义一张画板命名为fig

在plt.figure()括号里面还有一些参数

例如:

huaban=plt.figure(figsize=(6,10),facecolor='b',dpi=500)#figsize是调整你的图像的比例大小,上面所示就是:长/宽=6/10#facecolor是设置画板的背景颜色,一般颜色代码为英文的首字母#dpi设置图像的分辨率,分辨率越图像越清晰#edgcolor是设置边框颜色的参数

1.2**(二).第二步:定义你的x,y数据**

这里我们使用numpy库函数来制造一些数据

所以我们还得导入numpy函数

import numpy as np#设置xy的值x=np.linspace(-5,5,11)#这里就是把-5到5平均分成十一份,(-5,-4,-3,.....)y=[1,6,3,-3,6,8,3,6,9,1,-5]

1.3**(三).第三步:设置x,y轴的大小,刻度,…**

#添加p1到画板p1=fig.add_subplot(111)#这里的111是指把画板分成一行一列,把p1添加到第一副图#限制函数坐标轴的长度p1.axis([-5,5,-10,10])#x轴长度为-5到5,y轴长度为-10到10#设置x,y轴的刻度plt.xticks(x)plt.yticks(y)#这里是指:x,y轴的刻度为之前定义的x,y数据列表#设置坐标轴的上下限plt.xlim(-5,5)plt.ylim(-10,10)

1.4(四).绘制图像,导入x,y数据,设置线条样式,颜色,粗细,添加图例,…

#绘制图像p1.plot(x,y,marker='o',ms=5,lw=2,ls='--',label='band')#x,y就是最开始定义的数据#marker是设置拐点样式:o/h/^/./+等等#ms是设置拐点的标记大小#lw就是设置线条粗细,数值越大线条越粗#ls是设置线条样式,这里'--'为虚线#label是设置此线条的名称p1.legend(loc='best')#添加图例,其中best是指将图例的位置添加到最佳位置,#你也可以自己设置位置,例如:upper left(左上角)#添加plt.title('NUM',fontsize=24)#设置图像的,fontsize是设置文字的大小plt.xlabel('Value',fontsize=14)#设置x轴的plt.ylabel('ARG',fontsize=14)#设置y轴的

现在基本上就设置好了,因为我是在脚本中画图,所以我需要在代码的最后添加一个:plt.show(),它会自动启用一个事件循环,并找到所有当前可用的图形对象,然后打开一个交互式窗口来显示图形.

1.5上述的完整的代码(有一些细节的添加):

import matplotlib.pyplot as pltimport numpy as np#设置xy的值x=np.linspace(-5,5,11)y=[1,6,3,-3,6,8,3,6,9,1,-5]#创建一张画板huaban=plt.figure(figsize=(6,10))#添加p1到画板p1=huaban.add_subplot(111)#限制函数坐标轴的长度p1.axis([-5,5,-10,10])#设置x,y轴的刻度plt.xticks(x)plt.yticks(y)#去除右边边框p1.spines['right'].set_color('none')#去除顶部边框p1.spines['top'].set_color('none')#下面两行代码是将xy轴的交点改为(0,0)p1.spines['bottom'].set_position(('data',0))p1.spines['left'].set_position(('data',0))#绘制图像p1.plot(x,y,marker='^',ms=5,lw=2,ls='--',label='band')p1.legend(loc='upper left')#添加plt.title('NUM',fontsize=24)plt.xlabel('Value',fontsize=14)plt.ylabel('ARG',fontsize=14)#添加辅助虚线for i in range(len(x)):    x1=[x[i],x[i]]    y1=[0,y[i]]    plt.plot(x1,y1,'r-.')for i in range(len(x)):    x2=[0,x[i]]    y2=[y[i],y[i]]    p1.plot(x2,y2,'r-.')#添加每个折点的坐标for i in range(len(x)):    p1.text(x[i],y[i],(x[i],y[i]),c='green')plt.grid(c='b',ls='--')#这个函数是生成网格的函数plt.show()

输出结果:

Python Matplotlib绘图实例分析

2.散点图

散点图其实大部分语法和上述差不多,只需要将折线图中的plt.polt()改为plt.scatter()

这里我们只需要画一幅图来做个例子,就省去创建画板的步骤,创建画板的步骤在后面才会有用.

import numpy as npimport matplotlib.pyplot as plt#随机生成一些数据N=20x=np.random.rand(N)y=np.random.rand(N)x1=np.random.rand(N)y1=np.random.rand(N)plt.scatter(x,y,s=100,c='red',marker='^',label='red')#c是color的简称,设置颜色plt.legend(loc='best')plt.scatter(x1,y1,s=50,c='blue',marker='o',label='blue')plt.legend(loc='upper left')#在左上角添加图例plt.xlabel('x')#给横坐标添加标签plt.ylabel('y')#给纵坐标添加标签plt.title('picture')#给图像添加标签plt.show()#显示图像

输出结果:

Python Matplotlib绘图实例分析

3.条形图的绘制

使用plt.bar()进行绘制

import numpy as npimport matplotlib.pyplot as pltx=[1,2,3,4,5]y=np.random.rand(5)plt.figure(figsize=(8,4))plt.bar(x,y)x_t=list(range(len(x)))plt.xticks(x,x_t)plt.show()

输出结果:

Python Matplotlib绘图实例分析

4.四幅子图的绘制

画子图就需要创建画板,然后对画板进行分割,然后在分出来的位置进行绘制不同的图像.

重点是这里:

p1 = huaban.add_subplot(221)p2=huaban.add_subplot(222)p3=huaban.add_subplot(223)p4=huaban.add_subplot(224)#这些数字的意思就是,把画板分成两行两列,四个位置,然后p1在位置1,p2在位置2,p3在位置3.......
import numpy as npimport matplotlib.pyplot as pltx=range(-10,10,1)y=np.random.rand(20)huaban=plt.figure(facecolor='pink',figsize=(8,8),dpi=100)p1 = huaban.add_subplot(221)p1.plot(x,y,label="sinx",marker='o')plt.legend(loc='best')plt.grid(c='r',linestyle=':')p2=huaban.add_subplot(222)x1=np.linspace(-np.pi*2,np.pi*2,1000)y1=np.sin(x1)p2.plot(x1,y1,label="sinx",color='blue')plt.legend(loc='best')plt.grid(c='b',linestyle='--')p3=huaban.add_subplot(223)x2=np.random.rand(10)y2=np.random.rand(10)x3=np.random.rand(10)y3=np.random.rand(10)p3.scatter(x2,y2,c='red',marker='o',label="散点图")p3.scatter(x3,y3,c='red',marker='^',label="散1")p4=huaban.add_subplot(2,2,4)p4.plot(x1,np.cos(x1),label="cosx")plt.legend('best')plt.grid(c='c',linestyle=':')plt.show()

输出结果:

Python Matplotlib绘图实例分析

5.饼状图的绘制

import matplotlib.pyplot as pltx=[35,25,25,15]colors=["#14615E", "#F46C40", "#3E95C0", "#A17D3B"]name=['A','B','C','D']label=['35.00%','25.00%','25.00%','15.00%']huaban=plt.figure()p1=huaban.add_subplot(111)p1.pie(x,labels=name,colors=colors,autopct='%1.2f%%',explode = (0, 0.2, 0, 0))plt.axis('equal')plt.show()

输出结果:

Python Matplotlib绘图实例分析

6.热力图的绘制

import matplotlib.pyplot as pltimport numpy as npplt.figure(figsize=(4,4))# Fixing random state for reproducibility#np.random.seed(19680801)#创建子图1plt.subplot(211)plt.imshow(np.random.random((10, 10)), cmap="hot")#创建子图2plt.subplot(212)plt.imshow(np.random.random((5, 5)), cmap="winter")plt.subplots_adjust(bottom=0.09, right=0.5, top=0.9)cax = plt.axes([0.75, 0.1, 0.065, 0.8])plt.colorbar(cax=cax)plt.show()

输出结果:

Python Matplotlib绘图实例分析

到此,关于“Python Matplotlib绘图实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯