Task04:数据可视化
7.1 matplotib 库
matplotlib库是专门用于开发2D图表(包括3D图表)的,近年来被广泛应用于科技圈( http://matplolib.org )。
在促使它成为使用最多的数据图形化表示工具的众多优点中,以下几点最为突出:
使用起来极其简单
以渐进、交互式方式实现数据可视化
表达式和文本使用LaTeX排版
对图像元素控制力更强
可输出PNG、PDF、SVG和EPS等多种格式
matplotlib的设计初衷是在图形视图和句法形式方面尽可能重建跟Matlab类似的环境。这种做法已斩获成功,因为它能充分利用已有软件( Matlab )的设计经验。要知道Matlab已面市多年,现今广泛应用于科技圈。因此,不但matplotlib所依据的工作模式对业内专家来说再熟悉不过,而且其还充分利用了多年来总结得到的优化经验,提升其在使用方面的可推断性和简洁性。因此它非常适合第一次接触数据可视化的人员使用,尤其是那些没有任何Matlab或类似应用的使用经验的人。
除了间洁性和可推断性,matplotlib还继承 了Matlab的交互性。也就是说,分析师可逐条输人命令,为数据生成渐趋完整的图形表示。这种模式很适合于用IPython QtConsole 和IPythonNotebook (参见第2章)等互动性更强的Python工具进行开发,这些工具所提供的数据分析环境堪与Mathematica、IDL和Matlab相媲美。在开发matplotib这个优美的库时,天才开发者使用和整合了优秀的技术和强大的工具,而这两者当前仍为科学圈所用。这不限于前面提过的Matlab的操作模式等,matplotib还整合 了LaTex,用以表示科学表达式和符号的文本格式模型。LaTeX擅长展现科学表达式,所以它已成为任何要用到积分、求和及微分等公式的科学出版物或文档所不可或缺的排版工具。因而,为了提升图表的表现力,matplotlib整合 了这个出色的工具。
此外,不容忽视的是, matplotib不是一个 单独的应用,而是编程语言Python的-一个库。因此,它还充分利用了编程语言所能提供的潜力。matplotlib像是-一个图形库,可通过编程来管理组成图表的图形元素,因此生成图形的全过程尽在其掌控之中。用编程方法生成图形,便于在多种环境下重新生成,尤其在改动或更新数据之后。
而且,由于matplotlib是一个Python库, 所以用Python实现功能时,可充分利用所有Python开发人员都可以使用的其他各种库。事实上,虽然做数据分析时,matplotib通 常与NumPy和pandas等库配合使用,但其实其他很多库也都能无缝整合进来。
最后,用这个库编码实现的图形表示可以输出为最通用的图像格式(比如PNG和SVG),可以方便地用于其他应用、文档和网页等。