Matplotlib 教程,Matplotlib
是非常强大的python画图工具,受MATLAB
的启发构建而成,由于其简洁性、可推断性和交互性等特点,广泛运用于数据绘图领域,专门用于绘制2D/3D图表。本教程我们将介绍matplotlib
基础知识,帮助读者快速入门matplotlib。
为什么使用Matplotlib
Matplotlib 的设计初衷是在图形视图和句法形式方面尽可能重建跟Matlab
类似的环境。这种做法已斩获成功,因为它能充分利用已有软件(Matlab)的设计经验。要知道Matlab已经面市多年,现今广泛应用于科技圈。因此,不但matplotlib所依据的工作模式对业内专家来说再熟悉不过,而且其还充分利用了多年来总结得到的优化经验,提升其在使用方面的可推断性和简洁性。因此它非常适合第一次接触数据可视化的人员使用,尤其是那些没有任何Matlab或类似应用使用经验的同学。
除了简洁性和可推断性,Matplotlib还继承了Matlab的交互性,也就是说,分析师可以逐条输入命令,为数据生成渐趋完整的图形表示。这种模式很适合于IPython QtConsole和IPython Notbook等互动性更强的Python工具开发,这些工具所提供的数据分析环境堪与Mathematica、IDL和Matlab相媲美。
Matplotlib运用广泛,已经成为使用最多的数据图形表示工具,最突出的优点如下:
- 使用起来及其简单
- 以渐进、交互方式实现数据可视化
- 表达式和文本使用LaTex排版
- 对图像元素控制力极强
- 可输出PNG、PDF、SVG和EPS等多种格式
学习资源与建议
极客教程 Python 基础知识
极客教程Python教程,可以用来全面学习Python基础知识,带你快速搭建Python编译开发环境,了解Python语言的语法,快速掌握Python语言的使用,为后续学习Python系列的其他教程打下坚实的基础。
极客教程 Numpy 基础知识
NumPy是Python语言的一个扩充程序库。支持大量高级的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。极客教程Numpy教程介绍了Numpy基础知识,理论分析加实战演练,内容通俗易懂,带你轻松入门。
文章目录
本教程介绍matplotlib的基础知识,包括Matplotlib环境搭建,与Numpy,Pyplot等交互,添加文本、网格、图例、保存图像等基础处理,以及绘制线性图、直方图、条形图、饼图等各种图形,文章主要目录如下:
- Matplotlib 是什么
-
Matplotlib 安装教程 Matplotlib的安装其实很简单,不同的系统安装方式略有不同,本章介绍几种常用的安装方式及验证方法。
-
Matplotlib Pyplot Pyplot模块由一组命令式函数组成,因而matplotlib的使用方法和Matlab极为相似,通过pyplot函数操作或改动Figure对象,例如创建Figure对象和绘图区域、表示一条线或为图形添加标签等。
-
Matplotlib Numpy Matplotlib是一个图形库,它以Numpy库做为基础。我们可以直接把Numpy数组作为输入数据,数组经过pandas处理后,无需做进一步处理,可以直接供matplotlib使用。
-
Matplotlib 添加文本 本文介绍如何为图表添加文字标签,使用title()函数添加标题。另外xlabel()和ylabel()函数专门用于添加轴标签,text()函数允许在图表任意位置添加文本。
- Matplotlib 添加网格 图形中可以添加的另一个元素是网格,添加网格能更好地理解图表每个数据点的位置。添加网格可以通过函数grid()函数实现。
- Matplotlib 添加图例 任何图表都应该有的元素是图例,pyplot专门提供了legend()函数用于添加图例,通过设置参数可以改变图例位置,也支持多图例的显示。
- Matplotlib 保存图片
-
Matplotlib 处理日期 数据分析过程中,最常见的一个问题就是日期类型数据的处理。matplotlib下的dates模块主要用于处理日期,常用函数有MonthLocator(),DayLocator(),DateFormatter()等等。
-
Matplotlib 线性图 图表的所有类型中,线性图最为简单,线型图的各个数据点由一条线来连接,一对对(x, y)值组成的数据点在图表中的位置取决于两条轴(x和y)的刻度范围。
- [Matplotlib 直方图]直方图由竖立在x轴上的多个相邻的矩阵组成,pyplot用于绘制直方图的函数为hist(),该函数具有一个其他绘制函数没有的功能。它除了绘制直方图外,还以元组形式返回直方图的计算结果。
- Matplotlib 条形图 条形图非常常见,它与直方图极其相似,只不过x轴表示的不是数值而是类别,使用matplotlib的bar()函数就可以生成简单的条形图。
- Matplotlib 水平条形图 本文介绍水平方向的条形图,这种模式的条形图可以用barh()函数实现。也可以使用bar()函数实现,这时需要设置参数orientation的值为horizontal。
- Matplotlib 饼图 饼图可以用来表示数据,使用函数pie()函数可以很方便地绘制饼图,该函数仍然以一列数据作为主要参数,数据可以直接选用百分比(总和为100),也可以选用每种类别的实际数据,pie()函数会自动计算每个类别所占比例。
- Matplotlib 等值线图 等值线图或等高线图在科学界很常用,这种可视化方法用一圈圈封闭的曲线组成的等值线图表示三维结构的表面,其中封闭的曲线表示的是一个个处于同一层级或z值相同的数据点。
- Matplotlib 极区图 极区图由一系列呈放射状延申的区域组成,其中每块区域占据一定的角度。因此若要用极区图表示两个不同的数值,分别指定它们在极区图中所占的分量:每块区域的半径r和它所占的角度,就是极坐标(r,θ)。
- Matplotlib 3D绘图 mplot3d工具集是matplotlib内置的标配,可用来实现3D数据可视化功能。如果生成的图形在单独的窗口中显示,还可以用鼠标旋转三维图形的轴进行查看