Matplotlib 介绍
Matplotlib 是一个用于在 Python 中制作数组的 2D 绘图的库。尽管它起源于模拟 MATLAB® [1] 图形命令,但它独立于MATLAB,可以以 Pythonic,面向对象的方式使用。尽管 Matplotlib 主要是用纯 Python 编写的,但它大量使用 NumPy 和其他扩展代码,即使对于大型数组也能提供良好的性能。
Matplotlib 的设计理念是,您只需几个命令即可创建简单的绘图,或只需一个!如果要查看数据的直方图,则不需要实例化对象,调用方法,设置属性等; 它应该只是工作。
多年来,我习惯使用 MATLAB 进行数据分析和可视化。MATLAB擅长制作漂亮的绘图。当我开始使用 EEG 数据时,我发现我需要编写应用程序与我的数据进行交互,并在 MATLAB 中开发了一个 EEG 分析应用程序。
随着应用程序的复杂性日益增加,与数据库,http 服务器的交互,操作复杂的数据结构,我开始强调 MATLAB 作为编程语言的限制,并决定重新开始 Python。Python 不仅弥补了 MATLAB 的所有缺陷,而且还是编程语言,但我很难找到 2D 绘图软件包(对于 3D VTK 而言,超出了我所有的需求)。
当我去寻找 Python 绘图包时,我有几个要求:
- 地块应该看起来很棒 - 出版品质。对我来说一个重要的要求是文本看起来不错(抗锯齿等)
- 包含 TeX 文件的 Postscript 输出
- 可嵌入图形用户界面进行应用程序开发
- 代码应该很简单,我可以理解并扩展它
- 制作地块应该很简单
找到没有适合我的软件包,我做了任何自我尊重的Python程序员会做的事情:卷起我的袖子并陷入困境。没有任何真实的计算机图形学经验,我决定模拟 MATLAB 的绘图功能,因为这是 MATLAB 做得很好 这有更多的优势,许多人都有很多 MATLAB 的经验,因此他们可以快速掌握在 python 中的蒸汽绘图。从开发人员的角度来看,拥有固定的用户界面(pylab 接口)非常有用,因为可以重新设计代码库的内容,而不影响用户代码。
Matplotlib 代码在概念上分为三个部分: pylab 接口是提供的函数集 matplotlib.pylab,允许用户创建与 MATLAB 图生成代码非常相似的代码(Pyplot教程)。该 Matplotlib 前端或 Matplotlib API 是一套做繁重的课程,创建和管理的数字,文字,线条,曲线等(艺术家教程)。这是一个对输出无关的抽象接口。
后端是依赖于设备的绘图设备,又名渲染器,即转换前端表示以硬拷贝或显示装置(什么是后端?)。示例后端:PS创建PostScript®硬拷贝,SVG 创建可扩展矢量图形 硬拷贝,Agg 使用 Matplotlib 附带的高品质抗颗粒几何库创建PNG输出,GTK 将 Matplotlib 嵌入到 Gtk+ 应用程序中,GTKAgg 使用Anti-Grain渲染器创建一个数字,并将其嵌入到 Gtk+ 应用程序中,等等对于PDF,WxWidgets,Tkinter等
Matplotlib 被许多不同的上下文使用。有些人希望自动生成 PostScript 文件以发送给打印机或发布商。其他人在Web应用程序服务器上部署Matplotlib以生成 PNG 输出,以便包含在动态生成的网页中。有些使用 Matplotlib 交互式地从 Windows 的Tkinter的Python外壳。我的主要用途是将Matplotlib嵌入到在 Windows,Linux 和 Macintosh OS X 上运行的 Gtk + EEG 应用程序中。
[1] MATLAB是The MathWorks,Inc.的注册商标。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论