更新时间:2021年05月06日17时47分 来源:传智教育 浏览次数:
maplotib是一个由约翰·亨特(John Hunter)等人员开发的、主要用于绘制2D图表的Python库,它支持numpy、pandas 的数据结构,具有丰富的绘制图表、定制图表元素(图例、注释文本、表格等)或样式(如颜色、字体、线型等)的功能,可以帮助开发人员轻松获得高质量的图表。此外,matplotib还可用于绘制一此3D图表。
matplotib实际上是一个面向对象的绘图库,它所绘制的图表元素均对应一个对象。 但matplotib在设计之初仿照MATLAB,它提供了一套与MATLAB命令类似的API,方便熟悉MATLAB的用户进行开发。matplotlib官网提供了3种API : pyplot API、object-oriented API、pylab API。
1. pyplot API
pyplot API是使用pyplot模块开发的接口,该接口的底层封装了一系列与MATLAB命令同名的函数,使用这些函数可以像使用MATLAB命令一样快速地绘制图表。
当使用pyplot API绘图时,需要先使用“import matplotlib.pyplot as plt”语句导入pyplot模块,之后使用该模块调用绘图函数即可在当前的画布和绘图区域中绘制图表。pyplot API屏蔽了底层画布和绘图区域的创建细节,可以持续跟踪当前的画布和绘图区域。
对于熟悉MATLAB的用户而言,使用pyplot API会非常得心应手;对于不熟悉MATLAB的用户而言,只需花费少量的时间就可以掌握pyplot API的函数。虽然pyplot API的用法极其简单,但是pplot API隐藏了matplotib中一系列具有隶属关系的绘图对象,使初学者十分容易产生混淆。
2. object-oriented API
object-oriented API是面向对象的接口,该接口包含一系列对应图表元素的类,只有创建这些类的对象并按照隶属关系组合到一起才能完成一次完整的绘图。
当使用object-oriented API 绘图时,用户需要先创建画布(Figure类对象),再在该画布上添加拥有坐标系统的绘图区城( Axes类对象),最后在该绘图区城中调用绘图方法绘制图表。
与使用pyplot API的方式相比,objeet-oriented API不仅使用户能明确绘图对象的隶属关系,而且可以自由地定制绘图对象,但object-oriented API接近maplotib基础和底层,学习难度稍大,仅实现一个简单功能便需要编写不少的代码。
3. pylab API
pylab API是使用pylab模块开发的接口,它最初是为了模仿MATLAB的工作方式而设计的,包括pyplot、numpy模块及一.些其他附加功能,适用于Python交互环境中。
当使用pylab API绘图时,用户需要将pylab模块的所有函数导人单独的命名空间中,以便很好地实现交互模式,但可能会发生-些未知的错误行 为。matplotlib 官方不建议使用pylab API进行开发,并在最新的版本中弃用了pylab API。
用户在使用时可以根据自身的实际情况进行选择,若只是需要快速地绘制图表,可以选择pyplot API进行开发;若需要自定义图表,可以选择object-oriented API进行开发。
猜你喜欢: