首页 > Matplotlib 阅读数:58

Python Matplotlib库概述

在数据分析中,数据可视化是很重要的部分。数据可视化不仅可展示数据分析的结果,而且更重要的是可利用数据可视化来进行数据分析。例如,发现数据样本中的异常值,观察数据的分布,寻找数据之间的相关性等。

在 Python 中数据可视化工具分为免费和收费两种,其中免费的应用性较好的数据可视化工具有 Matplotlip 和 Seaborn 及交互式的数据可视化工具 Bokeh。其中,Matplotlip 是用于创建图表的绘图工具库,Seaborn 是在 Matplotlib 基础上进行了更高级的 API 封装,从而使作图更加容易。

在大多数情况下,使用 Seaborn 能做出很具有吸引力的图,而使用 Matplotlib 能制作具有更多特色的图,Seaborn 可视为 Matplotlib 的补充。Bokeh 是一个专门针对用 Web 浏览器来呈现图表功能的交互式可视化 Python 库,这正是 Bokeh 与其他可视化库最核心的区别。

交互式的数据可视化工具 Bokeh 的优势如下:
  • Bokeh 允许通过简单的指令快速创建复杂的统计图;
  • Bokeh提供了各种输出方式,如 HTML、Notebook 文档和服务器的输出;
  • 可以将 Bokeh 可视化嵌入 Flask 和 Django 程序;
  • Bokeh 可以转换写在其他库(如 Matplotlib 和 Seaborn)中的可视化;
  • Bokeh 能灵活地将交互式应用、布局和不同样式的选择用于可视化。

Matplotlib 简介

Matplotlib 库是专门用于开发 2D 图表的,是 Python 2D 绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。

使用 Matplotlib 实现数据图形化的优势如下:
  • 使用起来极其简单;
  • 以渐进、交互式方式实现数据可视化;
  • 表达式和文本使用 LaTeX 排版;
  • 对图像元素控制力更强;
  • 可输出 PNG、PDF、SVG 和 EPS 等多种格式。

Matplotlib 库最初模仿了 MATLAB 图形命令,但是与 MATLAB 是相互独立的。在其使用方面,Matplotlib 不仅具有简洁性和推断性,而且还继承了 MATLAB 的交互性。也就是说,分析师可逐条输入命令,为数据生成渐趋完整的图形表示。这种模式很适合于用 IPython Notebook 等互动性更强的 Python 工具进行开发,这些工具所提供的数据分析环境可与 Mathematic、IDL 和 MATLAB 相媲美。

Matplotlib 还整合了 LaTeX 用于表示科学表达式和符号的文本格式模型,此外,不容忽视的是,Matplotlib 不是一个单独的应用,而是编程语言 Python 的一个图形库,它可以通过编程来管理组织图表的图形元素,用编程的方法生成图形。由于 Matplotlib 是 Python 的一个库,因此在程序开发中,它也可以使用 Python 的其他库,Matplotlib 通常与 NumPy 和 pandas 等库配合使用。

另外,通过访问 https://matplotlib.org/gallery.html 网页,可查看网页中的上百幅缩略图,打开缩略图后都有源程序。如果需要绘制某种类型的图,只需要浏览该页面,找到相应类型的图,复制对应的源代码即可。

IPython 及 pylab 模式

IPython

IPython 是 Python 的一个增强版本。相比 Python,它在使用系统命令(Shell Commands)、排错(Debug)能力、命名输入/输出等方面都有所增强。如果在命令行终端给 IPython 加上参数-pylab(Python 0.12 以后的版本是--pylab)之后,就可以像 MATLAB 或者 Mathematica 那样以交互的方式绘图。

pylab 模式

pylab 是 Matplotlib 面向对象绘图库的一个接口。它的语法和 MATLAB 十分相近,即它主要的绘图命令和 MATLAB 对应的命令有相似的参数。

Matplotlib 提供的 pylab 的模块中包括了许多 NumPy 和 pyplot 中常用的函数,方便用户快速进行计算和绘图,可以用于 IPython 中的快速交互式使用。