小编给大家分享一下matplotlib的核心是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
matplotlib使用numpy进行数组运算,并调用一系列其他的Python库来实现硬件交互.matplotlib的核心是一套由对象构成的绘图API。
matplotlib项目是由约翰·d·亨特发起的条子d .猎人由于癌症于去年过世,但他发为社区作出的无比贡献将永远留存。
猎人约翰。d .
你需要安装Python, numpy和matplotlib。(可以到python.org下载Python编译器。相关Python包的安装,请参看 我的Python小技巧)
matplotlib的官网是:, http://matplotlib.org/ 官网有丰富的图例和文档说明。
matplotlib在github的地址为: https://github.com/matplotlib 欢迎有兴趣的开发者叉。
函数式绘图
matplotlib是受MATLAB的启发构建的.MATLAB是数据绘图领域广泛使用的语言和工具.MATLAB语言是面向过程的。利用函数的调,用MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。
matplotlib有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中。这套函数接口方便MATLAB用户过度到matplotlib包。下面,我们调用该模块绘制一条直线。
#, a strait 线:use pyplot 函数 得到matplotlib.pyplot import *情节([0,1],[0,1]),,,,,,#,plot a line 得到(0,0),用(1,1)标题(“a strait line") 包含(“x value") ylabel (“y value") savefig (“demo.jpg")
上面的每一条命令都很简单,你可以从函数名读出该函数所要实现的功能,比如情节为画线,标题为增加标题。最终保存的demo.jpg如下:
上面的函数式调用很方便,在 Python特殊方法与多范式中,我们已经谈到,Python中的函数式编程是通过封装对象实现的.matplotlib中的函数式调用其实也是如此.matplotlib本质上还是构建对象来构建图像。函数式编程将构建对象的过程封装在函数中,从而让我们觉得很方便。
在matplotlib。pyplot中,你还可以找到下面的绘图函数。如果你经常使用数据绘图程序,应该会很熟悉这些图形:
视图代码上面用到的marvin.jpg是下图,请保存到当地电脑:
函数式编程创造了一个仿真MATLAB的工作环境,并有许多成形的绘图函数。如果只是作为matplotlib的一般用户(非开发者),pyplot可以满足大部分的需求。
(当然,matplotlib是免费而开源的,MATLAB昂贵而封闭。这是不“仿真”的地方)
面向对象编程
尽管函数式绘图很便利,但利用函数式编程会有以下缺点:
1)增加了一层“函数”调用,降低了效率。
2)隶属关系被函数掩盖。整个matplotlib包是由一系列有组织有隶属关系的对象构成的。函数掩盖了原有的隶属关系,将事情变得复杂。
3)细节被函数掩盖.pyplot并不能完全复制对象体系的所有功能,图像的许多细节调中最终还要回到对象。
4)每件事情都可以有至少两种方式完成,用户很容易混淆。
而对于开发者来说,了解对象是参与到matplotlib项目的第一步。
我们将上面的直线绘图更改为面向对象式(面向对象、面向对象)的,为此,我们引入两个类:,图和FigureCanvas。(函数式编程也调用了这些类,只是调用的过程被函数调用所遮掩)。
#, object-oriented 情节 得到matplotlib.figure import Figurefrom  matplotlib.backends.backend_agg import FigureCanvasAgg  as FigureCanvas fig ,,,=,图() 时间=canvas FigureCanvas(图) ax ,,,,=, fig.add_axes ((0.1, 0.1, 0.8, 0.8)) 行,,,=,ax.plot ([0, 1], [0,1]) ax.set_title (“a  straight line (OO)“) ax.set_xlabel (“x value") ax.set_ylabel (“y value") canvas.print_figure (& # 39; demo.jpg& # 39;)matplotlib的核心是什么