为什么越来越多的硕士博士研究生放弃matlab开始使用matplotlib?(24个回答) – 悟空问答

Python与机器学习 徐 自远 629℃

Matplotlib是什么?

Matplotlib是由John D. Hunter 编写的一款强大的Python数据可视化绘图库。

Matplotlib代码主要由三个部分组成:

  1. 用户接口(matplotlib.pylab)。该部分是一个函数集,函数集内的函数与用法与MATLAB的函数用法非常类似,所绘制的图像也极为相似,所以学习过MATLAB的用户可以很快上手Matplotlib。
  2. Matplotlib前端(Matplotlib API)。该部分是用户在使用过程中需要面对处理的部分,如绘图过程中的窗体、文本、线、图像等的创建和管理都是由该部分实现的。
  3. Matplotlib后端(Matplotlib backends)。该部分用于将用户绘制的图像展现出来。

    通常我们画的图都是用Python shell直接显示出来的,但是不同的用户有不同的展示需求,如有的用户需要将图像嵌套在自己的应用程序中,有的用户需要将图像动态的展示在网站上,而研究生则需要输出矢量图用于论文创作。

    针对不同的需求进行展示,并不需要用户来做大量的操作,而后端却在幕后做了大量的工作。

Matplotlib是如何诞生的?

Matplotlib的作者John D. Hunter曾经使用MATLAB做数据分析和可视化多年。但是当他开始处理EEG(脑电图)数据时,他需要写一个与数据进行交互的应用程序,所以他用MATLAB开发了一个脑电图分析的应用。

随着需求的增加,这个应用程序的复杂性越来越高,数据库交互问题、http服务器问题、复杂的数据结构的操作问题越来越突出,John D. Hunter开始意识到MATLAB作为一门编程语言的局限性,所以他决定使用Python重新开始。 虽然Python弥补了所有的MATLAB中的不足,但是当时却没有一款符合他心意的绘图工具。

John D. Hunter对这个绘图工具有几个要求:

  • 绘制的图像必须是可用作打印出版的高质量图像,文字显示不能有锯齿。
  • 支持PostScript语言,可将图像保存为包含Tex排版的eps格式矢量图
  • 可嵌入在图形用户界面中开发应用程序
  • 代码简单易读,可以轻松的理解与扩展
  • 绘图简便

在寻找了一通没有结果以后,John D. Hunter决定挽起袖子自己写,于是他自己用Python写一个拓展库——Matplotlib。由于没有任何计算机图形设计的实际经验, 所以John D. Hunter决定效仿他一直使用的绘图方面确实做的非常优秀的MATLAB。这样一来Matplotlib就更容易被熟悉了MATLAB的用户接受了。

相比于MATLAB,Matplotlib有什么优点?

虽然Matplotlib源于模仿MATLAB,但是它却不同于MATLAB,与MATLAB相比它的优势在于:

  1. 免费。MATLAB是一款商业软件,价格不菲;而Matplotlib是开源免费的。
  2. Matplotlib是Python的拓展库,所以继承了Python语法的优点,面向对象、易读、易维护、代码简洁优美。
  3. Matplotlib依托于Python,可借助Python的强大丰富的拓展模块嵌入在图形用户界面应用程序中,也可嵌入在网页中。

实例分享

 

 

matlab和matplotlib都使用过,简单的说一下自己的想法。记得我当初在实验室学习python的时候,那个时候还几个人知道它。因为我们是普通工科,并不是计算机专业。我学python也是觉得这个东西以后做计算比较好用。虽然我毕业了,但是我觉得肯定大部分的人应该都知道了。毕竟,太火了。

至于说题目中的问题,越来越多的硕士博士研究生放弃matlab开始使用matplotlib。我个人认为准确来说应该是matplotlib用的人越来越多,但是大部分的硕士博士研究生不会放弃matlab的。因为这两个工具基本上都是很类似的,上手难度不高。为什么不会放弃matlab呢?因为matlab是商业软件,国内破解很容易,用这个软件做计算可靠性是极高的,而且软件的说明文档,教程之类的是很全面的。毕竟matlab卖得那么贵,有那么多专业的工具箱,有那么多专业的工程师在维护。matlab完全按照估计有15G以上,基本上大学工科专业大部分都用一点。

matplotlib,做的东西很漂亮,但它其实就是画图的。硕士博士画图,其实用origin的更多。毕竟,硕士博士都是需要发文章的,origin的风格更合适。

===================看到20多个赞,就再更新一下==================

严格的来说,matlab和matplotlib完全没有可比性的。matlab和matplotlib只是英文缩写有点像而已。matplotlib,从plotlib后缀来看就是画图的一个库而已,实际上也是如此。其实,与matlab最像的还是anaconda,那才是真正可以和matlab来PK一下的。anaconda从界面上来看是和matlab极为相似的,包含了很多库比如numpy等等。我记得应该是默认包含了库matlplotlib。特别是Windows平台上用python写一些计算相关的程序,anaconda是特别好的选择,在这里强烈推荐一下。python虽然开源,在Windows下面,其实很多库不是特别好安装的。当初,我在默认的python3.4上配置numpy,matplotlib这些库的时候,花了好多时间,不值得。

分享一下以前python和matlab写的一些东西:

1.Windows下Python3.4通过exe文件安装matplotlib,scipy,numpy模块

2.MATLAB学习经历分享(经典入门教程推荐)

转载请注明:徐自远的乱七八糟小站 » 为什么越来越多的硕士博士研究生放弃matlab开始使用matplotlib?(24个回答) – 悟空问答

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号