发布时间:2023-10-20 13:30
—–因为在做记录时需要用到Python的画图功能,这里做一个学习记录!为了从根源了解matplotlib,直接从官网入手!
本文是一篇译文,翻译matplotlib官网上的对于matplotlib介绍,地址为:http://matplotlib.org/users/intro.html
matplotlib是一个在Python下的2d绘图库,尽管它的起源是仿MATLAB的图形命令,但是与MATLAB不相关,并且是以对象对象方式,运行于Python环境下。尽管mapplotlib主要都是用纯Python写的,但是为了在运行时有更高的性能,特别是在显示大量数组数据的情况下,里面也大量使用了NumPy和其他的扩展代码
mapplotlib的设计哲学是:你可以仅仅只用一丢丢甚至一行命令行来创建一个简单的平面图!假如你想看你数据表示的柱状图,你也不需要进行如下繁杂的步骤:初始化对象,调用方法,设置属性等等
有几年时间,我(作者)只用MATLAB来进行数据分析与形象化。MATLAB擅长非常简单的制作出一个精美的平面图。当我处理脑电数据时,我发觉我需要写一个应用来与(interact with)数据交互,所以我就用MATLAB编写了一个脑电数据的应用,因为应用的复杂度不断上升,需要与数据库,http服务器交互,处理复杂的数据结构,我开始对于MATLAB作为一种编程语言它的局限性愈发抗拒,并决定用Python重新编写改应用。Python大大弥补了MATLAB作为编程语言的缺陷(deficiencies),但是我又发现,我找不到一个合适的2D绘图包(3D绘图的VTK包又太超过我的需要了,我并不需要这么复杂的)
当我在查找Python的绘图包时:我有以下几个要求:
创建图像的步骤简单
刚刚好,我没有找到适合我的包,所以我做了任何有自我尊严的Python编程人员将会做的:撸起袖子自己干!由于我没有任何电脑绘图的经验,所以我决定模仿MATLAB出绘图功能,怎么说,MATLAB在某些方面还是做的相当好的。而且还有一个附加优势就是很多人都有很多MATLAB编程经验,因此到时候他们能在Python环境下快速地建立一个Strean plotting。从一个开发者的角度看,有一套固定的用户接口将非常有用,这样的话能在不影响用户代码的情况下重新设计我的代码库。
Mapplotlib代码从概念上(conceptually )说分为3个部分:pylab接口(pylab interface)提供了一系列函数,使得用户只需用类似于MATLAB图形生成代码就能创建一个平面图(plots),
Matplotlib frontend(前端) 或者 Matplotlib API是一系列类,他们用来创建管理图形,文本,线,点等等。这是一个抽象接口,不管输出内容。 backends(后端)是一个设备相关的绘图装置,即渲染器,转换前端要表示的内容到打印稿(hardcopy)或者显示设备上。举一些后端例子:PS生成PostScript 打印稿,SVG生成 Scalable Vector Graphics(可伸缩矢量图形)打印稿,agg用附带了mapplotlib的高质量的Anti-Grain Geometry库的生成PNG 打印稿,GTK内嵌mapplotlib在它的GTK+应用里,GTKAgg 用Anti-Grain渲染器生成一个图形(figure)并内嵌(embed)在GTK+应用里,还有PDF,WxWidgets,Tkinter等等
mapplotlib现在被大量人员使用在不同的环境下,一些人想自动生成PostScript文件发送给打印机或者出版社。一些人在web应用服务器上部署mapplotlib来生成包含了动态生成(dynamically-genetated)的web网页的PNG输出。一些人在windows操作系统,在Tkinter的Python Shell用mapplotlib交互。我(作者)主要是在 一个 Gtk+ EEG application中内嵌mapplotlib,运行于Windows, Linux 和 Macintosh OS X操作系统上
【Python • 图片识别】pytesseract快速识别提取图片中的文字
使用 Helm 3 包管理器在 Kubernetes 集群上安装软件
现代化个人博客系统 ModStartBlog v5.3.0 留言接口新增,富文本升级
国产手机参与华为鸿蒙系统,华为鸿蒙OS系统再获力挺!又一国产手机巨头官宣:将联动华为?...
nacos-微服务网关Gateway组件 +Swagger2接口生成
基于OpenCV3和C++的电脑摄像头(或Astra摄像头)手势识别系统设计(完结)
【历史上的今天】6 月 22 日:生不逢时的计算机之父;微软公布下一代互联网愿景;Quora 上线
PyTorch】常见错误: RuntimeError:one of the variables needed for gradient computation has been modified