第 9 章 绘图和可视化 绘图和可视化
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
制作信息可视化图(有时称为 图)是数据分析中最重要的任务之一。它可能是探索过程的一部分--例如,帮助识别异常值或所需的数据转换,或者作为产生模型想法的一种方式。对其他人来说,为网络构建交互式可视化可能是最终目标。Python 有许多用于制作静态或动态可视化的附加库,但我将主要关注matplotlib和建立在它之上的库。
matplotlib 是一个桌面绘图软件包,用于创建适合出版的绘图和数字。 该项目由 John Hunter 于 2002 年发起,目的是在 Python 中实现类似 MATLAB 的绘图界面。matplotlib 支持所有操作系统上的各种图形用户界面后端,并能将可视化输出为所有常见的矢量和光栅图形格式(PDF、SVG、JPG、PNG、BMP、GIF 等)。除少数图表外,本书中几乎所有的图形都是使用 matplotlib 制作的。
随着时间的推移,matplotlib 衍生出了许多用于数据可视化的附加工具包,这些工具包使用 matplotlib 进行底层绘图。本章稍后将探讨的seaborn 就是其中之一。
学习本章代码示例的最简单方法是在 Jupyter 笔记本中输出绘图。要进行设置,请在 Jupyter 笔记本中执行以下语句:
%matplotlib inline
备注
自本书 2012 年第一版以来,许多新的数据可视化库应运而生,其中一些(如 Bokeh 和 Altair)利用现代网络技术创建了与 Jupyter 笔记本集成良好的交互式可视化。在本书中,我没有使用多种可视化工具,而是决定坚持使用 matplotlib 讲授基础知识,特别是因为 pandas 与 matplotlib 有很好的集成。你也可以根据本章的原则来学习如何使用其他可视化库。
9.1 matplotlib API 简介
对于 matplotlib,我们使用以下导入约定:
In[13]:importmatplotlib.pyplotasplt
在 Jupyter 中运行%matplotlib notebook (或在 IPython 中运行 ,简称%matplotlib )后,我们可以尝试创建一个简单的曲线图。如果一切设置正确,就会出现图 9-1 所示的折线图:
In[14]:data=np.arange(10)In[15]:dataOut[15]:array([0,1,2,3,4,5,6,7,8,9])In[16]:plt.plot(data)

图 9-1. 简单折线图
虽然类似 seaborn 和 pandas 的内置绘图函数库可以处理制作绘图的许多琐碎细节,但如果您希望在所提供的函数选项之外对其进行自定义,则需要了解一些 matplotlib API。
备注
本书没有足够的篇幅来全面介绍 matplotlib 功能的广度和深度。它应该足以教会你如何上手和运行。matplotlib 图库和文档是学习高级功能的最佳资源。
数字和分镜头
matplotlib 中的图形位于Figure 对象中。可以通过plt.figure 创建一个新图形:
In[17]:fig=plt.figure()
在 IPython ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access