资讯专栏INFORMATION COLUMN

Python中如何使用Matplotlib库绘制图形

89542767 / 410人阅读

  Python Matplotlib作为一种可视化的工具,可以利用其可视化的应用,去做到绘制图形,比如可以利用其Matplotlib去进行绘制图形,具体的操作方法要做到什么样呢?下面就给大家详细解答下。


  前言


  Matplotlib可能是Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索使用matplotlib库实现简单的图形绘制。


  一、简单的正弦函数与余弦函数


  是取得正弦函数和余弦函数的值:


  X是一个numpy数组,包含了从−π到+π等间隔的256个值。C和S则分别是这256个值对应的余弦和正弦函数值组成的numpy数组。


  X=np.linspace(-np.pi,np.pi,256,endpoint=True)
  C,S=np.cos(X),np.sin(X)


  完整代码如下


  import numpy as np
  import matplotlib.pyplot as plt
  X=np.linspace(-np.pi,np.pi,256,endpoint=True)
  C,S=np.cos(X),np.sin(X)
  #绘制并显示图形
  plt.plot(X,C)
  plt.plot(X,S)
  plt.show()

 

01.png

     二、进阶版正弦函数与余弦函数


  上面我们学习了简单的正弦函数与余弦函数,接下来我们将精益求精,改变颜色与粗细,设置记号,调整边框等。


  1.改变颜色与粗细


  我们以蓝色和红色分别表示余弦和正弦函数,而后将线条变粗一点。接下来,我们在水平方向拉伸一下整个图。


  代码如下(示例):


  figure(figsize=(10,6),dpi=80)
  plot(X,C,color="blue",linewidth=2.5,linestyle="-")
  plot(X,S,color="red",linewidth=2.5,linestyle="-")

02.png

  2.设置图片边界


  代码如下(示例):


  xmin,xmax=X.min(),X.max()
  dx=(xmax-xmin)*0.2
  xlim(xmin-dx,xmax+dx)

  

02.png

       3.设置记号


  我们讨论正弦和余弦函数的时候,通常希望知道函数在±π和±π2的值。


  xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi])
  yticks([-1,0,+1])

03.png

  4.设置记号的标签


  我们可以把3.142当做是π,但毕竟不够精确。当我们设置记号的时候,我们可以同时设置记号的标签。注意这里使用了LaTeX。


  xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],
  [r'$-pi$',r'$-pi/2$',r'$0$',r'$+pi/2$',r'$+pi$'])
  yticks([-1,0,+1],
  [r'$-1$',r'$0$',r'$+1$'])

04.png

  5.设置X,Y轴


  ax=gca()
  ax.spines['right'].set_color('none')
  ax.spines['top'].set_color('none')
  ax.xaxis.set_ticks_position('bottom')
  ax.spines['bottom'].set_position(('data',0))
  ax.yaxis.set_ticks_position('left')
  ax.spines['left'].set_position(('data',0))

  

06.png

      6.完整代码


  #导入matplotlib的所有内容(nympy可以用np这个名字来使用)
  from pylab import*
  #创建一个8*6点(point)的图,并设置分辨率为80
  figure(figsize=(8,6),dpi=80)
  #创建一个新的1*1的子图,接下来的图样绘制在其中的第1块(也是唯一的一块)
  subplot(1,1,1)
  X=np.linspace(-np.pi,np.pi,256,endpoint=True)
  C,S=np.cos(X),np.sin(X)
  #绘制余弦曲线,使用蓝色的、连续的、宽度为1(像素)的线条
  plot(X,C,color="blue",linewidth=1.0,linestyle="-")
  #绘制正弦曲线,使用绿色的、连续的、宽度为1(像素)的线条
  plot(X,S,color="green",linewidth=1.0,linestyle="-")
  #设置横轴的上下限
  xlim(-4.0,4.0)
  #设置横轴记号
  xticks(np.linspace(-4,4,9,endpoint=True))
  #设置纵轴的上下限
  ylim(-1.0,1.0)
  #设置纵轴记号
  yticks(np.linspace(-1,1,5,endpoint=True))
  #以分辨率72来保存图片
  #savefig("exercice_2.png",dpi=72)
  #设置颜色与粗细
  figure(figsize=(10,6),dpi=80)
  plot(X,C,color="blue",linewidth=2.5,linestyle="-")
  plot(X,S,color="red",linewidth=2.5,linestyle="-")
  #设置边框
  xmin,xmax=X.min(),X.max()
  dx=(xmax-xmin)*0.2
  xlim(xmin-dx,xmax+dx)
  #设置记号
  xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi])
  yticks([-1,0,+1])
  #设置记号的标签
  xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],
  [r'$-pi$',r'$-pi/2$',r'$0$',r'$+pi/2$',r'$+pi$'])
  yticks([-1,0,+1],
  [r'$-1$',r'$0$',r'$+1$'])
  #设置xy轴
  ax=gca()
  ax.spines['right'].set_color('none')
  ax.spines['top'].set_color('none')
  ax.xaxis.set_ticks_position('bottom')
  ax.spines['bottom'].set_position(('data',0))
  ax.yaxis.set_ticks_position('left')
  ax.spines['left'].set_position(('data',0))
  #在屏幕上显示
  show()


  最终效果

07.png

  三、绘制简单的折线图


  折线图是一种将数据点按照顺序连起来的图形,可以体现变量y随变量x的变化情况。Matplotlib提供了plot()函数绘制折线图,其语法格式如下:

  plt.plot(*args,**kwargs)


  常用参数及说明如下:


  x、y:分别表示x轴和y轴对应的数据,接收列表类型参数


  color:表示折线的颜色


  marker:表示折线上点的类型,有“.”、“o”、“v”等等类型


  linestyle:表示折线的类型,默认为“-”,表示实线,设置为“--”表示长虚线,设置为“-.”表示点线,设置为“:”表示点虚线


  linewidth:表示折线的粗细


  alpha:表示点的透明度,接收0~1之间的小数


  下面我们将以某地区周一到周日平均温度变化折线图为例,具体的学习了解折线图的绘制。


  import matplotlib.pyplot as plt
  plt.figure(figsize=(10,8))
  #周一到周日平均温度数据
  plt.plot([1,2,3,4,5,6,7],[12,11,11,13,12,10,10])
  plt.show()


  效果如下:

08.png

  我们可以给图表添加一些标签和图例,让图表更加清晰好看,具体方法如下:


  plt.title():指定当前图表的标题,包括名称、位置、颜色、字体大小等


  plt.xlabel():指定当前图表x轴的名称、位置、颜色、字体大小等


  plt.ylabel():指定当前图表y轴的名称、位置、颜色、字体大小等


  plt.xlim():指定当前图表x轴的范围


  plt.ylim():指定当前图表y轴的范围


  plt.xticks():指定当前图表x轴刻度


  plt.yticks():指定当前图表y轴刻度


  import matplotlib.pyplot as plt
  #设置支持中文
  plt.rcParams['font.family']=['SimHei']
  plt.figure(figsize=(10,8))
  plt.plot([1,2,3,4,5,6,7],[12,11,11,13,12,10,10],linestyle="-",marker=".")
  plt.xlabel("时间")
  plt.ylabel("温度")
  plt.yticks([i for i in range(20)][::5])
  plt.show()


  效果如下:

09.png

  总结


  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128432.html

相关文章

  • 快速入门 Matplotlib 绘图

    摘要:概述是使用开发的一个绘图库,是界进行数据可视化的首选库。可以通过图形示例来快速浏览所有支持的图形。最后,调用把绘制好的图形显示出来。对应于三个参数,表示行,表示列,表示位置。因此,表示在图表中总共有个图形,当前新增的图形添加到位置。 showImg(https://segmentfault.com/img/bV6EPD?w=542&h=130); 概述 Matplotlib 是使用 P...

    Hujiawei 评论0 收藏0
  • 仅需10道题轻松掌握Matplotlib图形处理 | Python技能树征题

    摘要:问题描述绘制函数上的点,请从以下选项中选出你认为正确的答案正确答案第题条形图的绘制知识点描述绘制条形图。 仅需10道题轻松掌握Matplotlib图形处理 | P...

    YorkChen 评论0 收藏0
  • Python的十大图像处理工具

    摘要:之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。该库包含基本的图像处理功能,包括点操作使用一组内置卷积内核进行过滤以及颜色空间转换。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019442221);编译:张秋玥、小七、蒋宝尚 本...

    yuanxin 评论0 收藏0
  • 数学与Python有机结合及统计学、微积分、线性代数相关资源、图形软件

    摘要:微积分微积分的课程我们也同样是推荐和的课程。还有一个斯坦福大学的统计学习入门英文字幕相当不错。所以,除了绘制数学图形外,学习数学就应该完全与编程有机结合。 无论是三大数学软件Matlab(通信、控制等工程例外)、Maple、Mathematica,还是三大统计软件Spass、Stata、SAS,这些可视化的软件本身就是编程的一个体现,它们在一定程度上降低了我们使用数学的门槛,但另一方面...

    Java3y 评论0 收藏0
  • Python学习笔记:数据可视化(一)

    摘要:当数据发生变化时,这种演变过程随之发生。是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 showImg(https://segmentfault.com/img/bVbnkP1?w=751&h=558); python相关 基础概念 数据:离散的,客观事实的数字表示 信息:处理后的数据,为实际问题提供答案   - 为数据提供一种关系或一个关联后,数据就成了信...

    Crazy_Coder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<