python可视化——图形系统知识点整理

本文介绍了Python中matplotlib库的基础知识,包括pylab库与pyplot的关系,函数式绘图与对象式绘图的区别,以及Axes对象与subplot对象的联系。pylab结合了pyplot和numpy,适合交互式使用,但项目中建议单独导入。matplotlib的函数式编程方便快捷,而对象式编程有助于理解绘图过程。subplot用于创建子图,axes创建坐标系,两者在matplotlib中相互关联。
摘要由CSDN通过智能技术生成


python拥有强大的matplotlib可视化库,内容过于丰富,恕不能一一整理。
这篇推文里cd我整理三个比较基础的问题:

  1. python可视化中pylab库与pyplot的关系
  2. 函数式绘图对象式绘图(主要)
  3. Axes对象与subplot对象的关系

1. python可视化中pylab库与pyplot的关系

用python绘图时,经常会看到一些绘图案例。这些例子中是导入绘图库大约有这三种:

  1. import pylab as plt
  2. import matplotlib.pylab as plt
  3. import matplotlib.pyplot as plt

这些例子嘛后面就都用plt.XXX一顿操作,然后运行起来么也都丝般顺滑(cd我因为懒用的都是第一种),所以,这三种方式到底有什么区别?

对于1和2,其实没差别,因为我翻看了一下pylab库的源码,显示如下:

from matplotlib.pylab import *
import matplotlib.pylab
__doc__ = matplotlib.pylab.__doc__

那么对于pylab与pyplot的关系呢?cd我查找一波,发现解答:

pyplot:“方便快速绘图,matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。”
pylab:“pylab包括了许多NumPy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用。”

综上:三种方式关系为1=2>3(这个大于号不是很严谨,但对于一般操作而言均成立)。意思就是说pylab结合了pyplot和numpy,对交互式使用来说比较方便,既可以画图又可以进行简单的计算。但是,对于一个项目来说,建议分别倒入使用,就是分别导入matplotlib.pyplotnumpy

附matplotlib的资料:
http://matplotlib.org/Matplotlib.pdf (Matplotlib.pdf)


2. 函数式绘图与对象式绘图(主要)
2.1 函数式作图

大家都知道MATLAB语言是面向过程的。在可视化过程中MATLAB利用函数的调用,轻松的利用各种函数命令来绘制直线,然后再用一系列其他函数调整结果。Python的matplotlib库中也提供这样的绘图接口,直接调用matplotlib.pyplot或者pylab就可以实现。
函数式调用很方便。但是matplotlib本质上还是构建对象来构建图像。函数式编程将构建对象的过程封装在函数中,从而让我们觉得很方便。
对于单一图像绘制或者简单效果的实现,这种函数式作图是一种值得推荐的操作方式。

2.2 对象式作图

但是其实很多时候,使用函数式作图时,我们非明白真正作图的实现过程,如果希望能够更好理解python可视化,对象式作图将是一个更好的习惯。

首先我们需要了解一下图像的构成。下面以一张‘五脏俱全’的图像为例。
在这里插入图片描述
上图是我特地截图保留下来的,是为了说明,所有axes/subplot都是画在figure上的。
另外如下图:
在这里插入图片描述
就是说,figure1是由上图所示的(1-figure/画布)和(2-axes/subplot)构成。我们所有所绘制的图形都是在1-画布上实现的。需要注意的是,我们平时用savefig()保存

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值