1、 图 1-1 图 1-2 图 1-3 图 1-4 图 1-5 图 1-6 图 2-1 图 2-2 图 2-3 图 2-4 图 2-5 图 2-6 图 2-7 图 2-8 图 3-1 图 3-2 图 3-3 图 3-4 图 3-5 图 3-6 图 4-1 图 4-2 图 4-3 图 4-4 图 4-5 图 4-6 图 4-7 图 4-8 图 4-9 图 4-10 图 4-11 图 5-1 图 5-2 图 5-3 图 5-4 图 5-5 图 6-1 图 6-2 图 6-3 图 6-4 图 6-5 图 7-1 图 7-2 图 8-1 图 8-2 图 8-4 图 9-1 图 9-3 图 9-4 图 1
2、0-1 图 10-2 图 10-4 图 10-5 图 10-7 图 10-8 图 11-1 图 11-2 图 11-3 图 13-1 图 13-2 图 13-3 图 13-8 图 13-9 图 13-10 图 13-11 图 14-1 图 14-2 图 15-1 图 15-3 图 15-4 图 15-5 图 15-6 图 15-7 图 15-8 图 15-9 内 容 简 介 本书使用大量的 matplotlib 实用案例讲解 Python 数据可视化在各个应用方向上的实现方法。通过学习这些实用案例,读者可以更好地掌握 Python 数据可视化的高级技能。本书主要由图形、元素、交互、探索和拓展
3、5 部分组成,每部分的实用案例都有利于拓展 matplotlib 的应用视野,而且案例中的示例代码只涉及 Python 的基础知识。这样,在 Python 数据可视化的实践中,有利于读者将时间和精力放在系统掌握matplotlib 知识和技能上面,全面提高对 matplotlib 的理解程度及应用水平。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Python 数据可视化之 matplotlib 精进/刘大成著.北京:电子工业出版社,2019.5(数据分析从入门到实战系列)ISBN 978-7-121-36218-7.P.刘.软件工具程
4、序设计.TP311.561 中国版本图书馆 CIP 数据核字(2019)第 059662 号 策划编辑:石 倩 责任编辑:牛 勇 特约编辑:田学清 印 刷:三河市鑫金马印装有限公司 装 订:三河市鑫金马印装有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:15.25 字数:416 千字 彩插:8 版 次:2019 年 5 月第 1 版 印 次:2019 年 5 月第 1 次印刷 定 价:69.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)8
5、8254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:010-51260888-819,。前言 通过对本书的学习,读者可以根据自身的实际项目和任务需求,同时结合在 matplotlib 实用案例中介绍的应用方向和实现方法,灵活地应用 Python 数据可视化的实用技能。具体而言,这些应用方向主要包括图形、元素、交互、探索和拓展。在这些应用方向中,又从不同方面和角度深入讲解了每个应用方向的实用案例,使读者对每个应用方向的实现方法都有一个相对系统的掌握,从而帮助读者建立 matplotlib 的知识体系、拓宽 matplotlib 的应用视野和掌握 m
6、atplotlib 的操作要领,搭建起一条立体式的 Python 数据可视化的精进之路。本书主要内容 第 1 篇:图形(第 1 3 章)。首先讲解向多边形和交叉曲线等几何图形里填充颜色的实现方法;其次讲解使用模块 patches 绘制几何图形的实现方法,这些几何图形包括圆、椭圆、矩形、圆弧、楔形等;最后讲解组合展示统计图形的实现方法,包括判别分析示意图、时间序列图、概率密度曲线等。第 2 篇:元素(第 4 6 章)。主要讲解图形组成元素的设置方法,包括文本内容、计量单位、刻度线、刻度标签和轴脊等,具体内容包括设置文本内容的样式和布局,调整计量单位和计量方法,调整刻度线和刻度标签,以及轴脊的展示
7、效果。第 3 篇:交互(第 7 9 章)。主要讲解具有交互效果的图形的实现方法,包括绘制动态图形(动画)的方法,以及实现 GUI 效果和事件处理效果的方法。第 4 篇:探索(第 10 13 章)。主要讲解从外部导入图像加载到绘图区域的实现方法,绘制 3D图形和地图的方法,以及结合前面章节介绍的应用方向,讲解综合交叉的应用场景。第 5 篇:拓展(第 14、15 章)。主要讲解使用 LaTeX 和 matplotlib 自带的 TeX 功能渲染文本内容的方法,以及使用 matplotlib 书写数学表达式的方法和技巧。本书特色 在Python 之禅(The Zen of Python)中,有一句话
8、是“Now is better than never”,强调实践是掌握一门语言的不二法则。实践不仅是学习外语的必由之路,也是掌握技能的关键环节。因此,在本书的编写过程中,将实践作为中心内容来组织素材和编排章节。这样,在内容的选择上,使用大量的 matplotlib 实用案例,讲解 Python 数据可视化在各个方向上的应用和实现方法。通过学习这些实用案例,读者可以更好地掌握Python数据可视化的实用技能,拓展Python数据可视化的应用视野。Python 数据可视化之 matplotlib 精进 IV 与此同时,读者可以拓展对 matplotlib 的理解深度和广度,以及更好地掌握 matp
9、lotlib 的语法精要和操作要领,从而全面提高对 matplotlib 的掌握程度和加深对 matplotlib 的理解程度。阅读建议 本书的示例代码都比较简单易懂,而且代码量都很适中,只有非常少的示例代码的代码量比较大,相信读者的学习热情和学习态度可以极大地帮助读者度过相对枯燥的编辑脚本的阶段。事物总是相对的,虽然编辑脚本的过程略显枯燥,但是也可以培养关注细节的做事态度。希望读者可以带着好奇心,独立地敲入完整的代码,真正动手实践书中讲过的每个示例,探索每个示例,钻研每个示例,真正实现“授之以渔”的学习效果。而且,通过动手实践的学习方式,既可以更好地掌握matplotlib的使用方法,也可以
10、更好地理解 matplotlib 的内容精华。正如谚语所言,“眼过千遍,不如手过一遍”,从而更好地平衡 matplotlib 在实践和理论之间的比例关系,也就是说,既侧重实用案例的讲解,又兼顾理论内容的介绍。本书列举了大量的 matplotlib 实用案例,涵盖 Python 数据可视化的各个应用方向。因此,本书既可以作为简要而全面的 matplotlib 参考资料,也可以作为 Python 数据可视化的实用工具书。本书的示例代码都是基于 Python 3.6、basemap 1.2.0、imageio 2.4.1、matplotlib 1.5.3、NumPy 1.15.4、Pillow 5.
11、3.0、SciPy 1.1.0 和 squarify 0.3.0 实现的,同时也考虑了使用 Python 2.x 的读者。无论是在Python 2.x 还是在 Python 3.x 的环境下,对于使用 matplotlib 2.0.0 及以上版本的读者而言,需要将示例代码中的属性 axis_bgcolor 和 axisbg 变更为 facecolor,将实例方法 set_axis_bgcolor()变更为set_facecolor()。对于使用 matplotlib 2.0.0 以下版本的读者而言,无论是在 Python 2.x 还是在 Python 3.x的环境下,示例代码都不需要做任何变更
12、。在“内容补充”部分,对于“代码实现”部分的示例代码而言,会给出需要做示例代码变更的修改建议和修改方法,或者给出一些具有启发意义的实用操作指南。读者对象 如果读者了解 Python 的一些基础编程知识,则会非常有利于学习 matplotlib 的实用案例。但是,如果读者不了解 Python 编程知识,那么也不会对学习 matplotlib 造成太大的困难。因为书中的 Python示例代码都是使用非常基础的语法知识进行编写的,而且对示例代码中的难点语句和重点语句都会进行详细讲解,因此,示例代码的可读程度非常高。与此同时,对于在相关章节中出现的统计学概念和数学概念,也都会详细地讲解其计算原理和计算
13、方法。当然,这些概念都是浅显易懂的。这样,有利于读者将宝贵的时间和精力放在 matplotlib 实用案例的学习上面。从 matplotlib 的学习阶段来讲,读者最好具备 matplotlib 基础知识,这样可以更快地学习和实践matplotlib 实用案例。从 matplotlib 的使用目的来讲,读者可以将阅读重点放在 Python 数据可视化的应用场景上面,掌握 Python 数据可视化的不同应用方向的实现思路和实现方法。因此,读者既可以是数据分析师、大数据工程师、机器学习工程师、数据挖掘工程师、人工智能专家、运维工程师、前言 V 系统和性能优化工程师、软件测试工程师,也可以是用户体验
14、设计师、交互设计师或数据产品经理,以及对 Python 数据可视化感兴趣的各个行业的从业者。联系与反馈 由于本人的学识和能力有限,书中存在疏漏之处在所难免,欢迎广大读者针对书中的错误、阅读体会和建议等给予反馈。如果读者对 matplotlib 也有自己的见解和研究兴趣,欢迎与我联系。请将反馈信息发送到电子邮箱 。致谢 谈到本书的出版,深受我父亲的影响,主要是他对木工技艺的执着追求和不断探索,让我明白了精益求精的深刻内涵。由此,我在 matplotlib 实践的基础上继续探索 Python 数据可视化的高级技能,以求实现 matplotlib 技术精进的提升目标。在写作本书的过程中,我得到了很多
15、人的帮助和支持。首先,要感谢我朴实、善良的父母,他们一如既往地支持我的事业。其次,在本书的编辑和出版过程中,得到了电子工业出版社石倩编辑的耐心指导和帮助。最后,要感谢我的妻子一直以来对我事业的理解和支持,没有她的默默陪伴,就不会有书稿的完成。时光飞逝,努力成为更好的自己!作者 Python 数据可视化之 matplotlib 精进 VI 轻松注册成为博文视点社区用户(),扫码直达本书页面。下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。交流互动
16、:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。页面入口:http:/ 目录 第 1 篇 图 形 第 1 章 向几何图形里填充颜色.2 1.1 多边形的颜色填充.2 1.1.1 规则多边形的颜色填充.2 1.1.2 不规则多边形的颜色填充.4 1.2 交叉曲线的颜色填充.5 1.3 延伸阅读.6 1.3.1 水平方向的交叉曲线的颜色填充方法.6 1.3.2 垂直方向的交叉曲线的颜色填充方法.8 1.4 综合案例:交叉间断型曲线的颜色填充.9 第 2 章 使用模块 patches 绘制几何图形.12 2.1 圆的实现方法.12 2.2 椭圆的实现方法.15 2.3 矩形的实现方法.17 2.4 圆弧和楔形的绘制方法.19 2.5 延伸阅读.22 2.5.1 使用折线绘制圆.22 2.5.2 使用椭圆绘制圆.25 2.5.3 使用楔形绘制饼图.26 2.5.4 使用楔形绘制圆环式饼图.28 第 3 章 组合展示统计图形.31 3.1 机器学习中的判别分析示意图.31 3.2 日期型时间序列图.33 3.3 向直方图中添加概率密度曲线.35 3.4 绘图区域嵌套子