收藏 分享(赏)

Python数据分析:基于Plotly的动态可视化绘图.pdf

上传人:la****1 文档编号:2357278 上传时间:2023-05-08 格式:PDF 页数:400 大小:9.30MB
下载 相关 举报
Python数据分析:基于Plotly的动态可视化绘图.pdf_第1页
第1页 / 共400页
Python数据分析:基于Plotly的动态可视化绘图.pdf_第2页
第2页 / 共400页
Python数据分析:基于Plotly的动态可视化绘图.pdf_第3页
第3页 / 共400页
Python数据分析:基于Plotly的动态可视化绘图.pdf_第4页
第4页 / 共400页
Python数据分析:基于Plotly的动态可视化绘图.pdf_第5页
第5页 / 共400页
Python数据分析:基于Plotly的动态可视化绘图.pdf_第6页
第6页 / 共400页
亲,该文档总共400页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、CMYCMMYCYCMYK“.pdf 1 2018/5/4 下午2:14 内 容 简 介 随着信息技术的发展和硬件设备成本的降低,当今的互联网存在海量的数据,要想快速从这些数据中获取更多有效的信息,数据可视化是重要的一环。对于 Python 语言来说,比较传统的数据可视化模块是 Matplotlib,但它存在不够美观、静态性、不易分享等缺点,限制了 Python 在数据可视化方面的发展。为了解决这个问题,新型的动态可视化开源模块 Plotly 应运而生。由于 Plotly 具有动态、美观、易用、种类丰富等特性,所以一经问世就受到开发人员的喜爱。本书主要介绍 Plotly 在可视化各领域的应用,

2、包括基础绘图、数据处理、网页开发、程序 GUI、机器学习和量化投资等,方便读者对 Plotly 快速上手。本书绝大部分代码用 Python 语言编写,同时也给出了 Plotly 在 R 语言、MATLAB 和 JavaScript中的应用案例。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Python 数据分析:基于 Plotly 的动态可视化绘图孙洋洋等著.北京:电子工业出版社,2018.6 ISBN 978-7-121-34113-7 .P .孙 .软件工具程序设计 .TP311.561 中国版本图书馆 CIP 数据核字(2018)

3、第 083114 号 策划编辑:黄爱萍 责任编辑:牛 勇 印 刷:三河市华成印务有限公司 装 订:三河市华成印务有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:25 字数:460 千字 版 次:2018 年 6 月第 1 版 印 次:2018 年 6 月第 1 次印刷 定 价:79.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)

4、51260888-819,。前 言 Python 是一门非常优秀的编程语言,其语法简洁、易学易用,越来越受到编程人员的喜爱;Python 也是一门非常“人性化”的编程语言,其各种语法规则的设计符合人们的思维方式,开发人员可以用最简单的方式实现自己的编程目的,降低时间成本;同时,Python 又是一门非常强大的编程语言,其在编程的各个领域都有非常不错的表现,比如在网页开发、程序 GUI 设计、网络爬虫、科学计算、数据可视化、机器学习与深度学习等领域,Python 都有非常好的解决方案来解决现实中的业务问题。互联网的快速发展为我们积累了庞大的数据,计算机硬件的创新为存储与分析这些数据创造了硬件条件

5、,编程语言的发展为分析这些数据创造了软件条件。在数据分析这个领域,Python 有着自己独有的优势,简单易用的特性与强大的开源模块的支持使其成为数据分析领域方便、好用的利器。Python 在数据分析领域的广泛应用离不开其强大的开源模块的支持,大名鼎鼎的 NumPy、SciPy、StatsModels、Pandas 等模块的建立与发展奠定了 Python 在数据分析领域中的重要地位。这些模块简单又好用,它们提供的解决方案能够满足绝大部分业务需求。在人工智能领域,Python 也有非常棒的解决方案,如 Sklearn、TensorFlow、MXNet、Theano、PyTorch、Caffe 等都

6、是非常好的开源模块。尤其在人工智能中最前沿的深度学习领域,Python 几乎占据了霸主的地位。Python 借助在数据分析领域中开源模块的优势,在量化投资领域逐渐占据了领头羊的地位。国内外主流量化投资网站大多支持 Python 语言,其在量化投资领域有一种逐渐淘汰其他语言,一统“江湖”之势。对数据的分析离不开数据的可视化,相对于 Python 在数据分析、人工智能、量化投资等领域中的发展,在数据可视化方面的发展有些滞后。最经典的 Python 可视 IV Python 数据分析:基于 Plotly 的动态可视化绘图 化绘图库莫过于 Matplotlib 了,Matplotlib 就是 MATL

7、AB+Plot+Library,即模仿MATLAB 的绘图库,其绘图风格与 MATLAB 类似。由于 MATLAB 的绘图风格有些偏古典,为了绘出更漂亮的图像,Python 开源社区开发出了 Seaborn 绘图模块,它本质上是对 Matplotlib 的封装,绘图效果更符合现代人的审美观。尽管如此,由于Matplotlib 是基于 GUI 的绘图模块,所以存在特有的缺陷。就笔者使用的经验而言,Matplotlib 主要存在两大缺陷:首先,Matplotlib 是一个静态的绘图模块,即我们绘出的图像是静态的,就像用看图软件打开图片一样,没有网页绘图的交互式效果;其次,Matplotlib 绘图

8、结果的分享很不方便,在绘图结果分享给别人时只能以图片的方式分享,别人看到的绘图结果完全是静态的,分享体验很不好。Matplotlib 一直以来都是 Python 可视化的主力军,但是确实存在无法克服的缺陷,并且其他的 Python 绘图模块如 Ggplot、Bokeh、Pygal 等都比较小众,绘图功能比较单一,完成不了对 Matplotlib 的替代。为了解决 Python 在可视化中存在的问题,Plotly 应运而生,它是一个基于JavaScript 的动态绘图模块。Plotly 的绘图效果与我们在网页上看到的动态交互式绘图效果是一样的,其默认的绘图结果是一个 HTML 网页文件,通过浏览

9、器就可以查看。我们可以把这个 HTML 文件分享给其他人,对方看到的效果与我们在本机上看到的效果完全一样。Plotly 有着自己强大又丰富的绘图库,支持各种类型的绘图方案。Plotly 是基于JavaScript 的绘图库,所以其绘图结果可以与 Web 应用无缝集成。总之,Plotly 在绘图模块上是 Matplotlib 强有力的竞争对手,Plotly 绘图的种类丰富、效果美观、易于保存与分享,因而越来越受数据分析人士的喜爱,至少笔者对 Plotly 的喜爱胜于对Matplotlib 的喜爱。Plotly 最初是一款商业化的绘图软件,在 2015 年 11 月 12 日,Plotly 开发团

10、队决定把该模块的核心框架 plotly.js 开源,由此 Plotly 得到了快速发展。虽然在 2016年 6 月,Plotly 开发团队才正式发布其 Python-api 文档,在 2017 年 1 月,Plotly 1.0才正式发布,但是这些都阻止不了程序员对 Plotly 的喜爱。自 plotly.js 开源之后,我们可以使用本地的离线模式进行绘图,不依赖于官方的服务器,使得绘图速度更快,效果与在线绘图一样,这也是目前使用 Plotly 绘图的主流模式。市面上有很多关于 Matplotlib 的可视化绘图教程,但是还没有 Plotly 的相关图书,作为一款非常优秀的可视化绘图模块,市面上

11、急需一本科普性的图书。在本书创作之前,市面上就已经出现了电子版的对 Plotly 的简单翻译版本Plotly 中文说明前言 V 1 期,这是极宽量化开源团队在 2017 年 1 月的作品。极宽量化开源团队是一群研究“Python 量化投资”的爱好者自愿组成的一个团队,该团队成立的初衷是为国内量化投资领域做出自己的一份贡献,目前已经成功初步翻译 PyAlgoTrade、Seaborn、StatsModels、Plotly 等开源模块,并公开上传到网络上,Plotly 中文说明 1 期正是该团队的一个作品。我作为极宽量化开源团队Plotly 中文说明 1 期项目的第一负责人,最初的想法只是单纯地把

12、 Plotly 的基础内容简单翻译一下,以最简单、最快速的方式呈现给大家,方便大家使用。但是后来电子工业出版社的黄爱萍编辑找我沟通,请我编写一本 Plotly 数据可视化的相关图书,她认为 Plotly 发展很快,市场上需要一本 Plotly的相关教材。经过一段时间的权衡,考虑到个人对 Plotly 的掌握程度、开源团队对Plotly 的热情、个人在写PyQt 5 快速开发与实战时与黄编辑建立的良好关系,以及Plotly 中文说明 1 期存在的太多缺陷等,也为了能让更多的人接触 Plotly这个优秀的绘图模块,于是决定再次抽出大量的时间来完成本书的创作,这就是本书的写作背景。Plotly 是一

13、个非常优秀的顶级绘图模块,如此优秀的开源模块在国内的知名度却不是很高,这对国内开发人员来说是一个很大的遗憾。顶级模块在特定的领域达到家喻户晓的程度是一个必然的趋势,Plotly 正是这种模块,它在可视化绘图领域的表现终会大放异彩。虽然目前 Plotly 在国内知名度不是很高,但其在可视化绘图领域做到家喻户晓是一个必然的趋势,只是需要有人加速这种趋势的演化过程,这就是本书存在的意义。本书结构 本书的框架结构如下。第 1 章是本书的快速入门部分,介绍 Plotly 的安装环境,对在线绘图与离线绘图做了简要的介绍。第 2 章是基础绘图部分,对 Plotly 的一些常见的基础图形如线形图、柱状图、饼图

14、、气泡图和直方图等做了一些介绍。第 3 章是高级图形部分,对 Plotly 的时间序列绘图、表格绘图、多个坐标轴绘图、多子图绘图、SVG 绘图等做了一些介绍,是 Plotly 绘图的高级应用。VI Python 数据分析:基于 Plotly 的动态可视化绘图 第 4 章是 Pandas 部分,介绍 Pandas 这个顶级数据分析模块使用 Plotly 进行绘图的方法。第 5 章是金融绘图部分,主要为金融领域的特殊图形尤其是 K 线图的绘制提供了解决方案。第 6 章是 Matplotlib 部分,主要介绍如何把 Matplotlib 绘图迁移到 Plotly 中。第 7 章是网页开发部分,主要介

15、绍 Plotly 在 Python 网页开发框架 Django 和 Flask中的应用。第 8 章是 GUI 开发部分,主要介绍 Plotly 在 GUI 开发框架 PyQt 5 中的应用。第 9 章是机器学习部分,主要介绍 Plotly 在机器学习框架 Sklearn 与 PyTorch 中的应用。第 10 章是量化投资部分,主要介绍 Plotly 在量化投资领域中的可视化应用。第 11 章是其他语言应用部分,主要对其他语言如 R、MATLAB、JavaScript 的Plotly 绘图做了简要的介绍。如果你仅仅对 Plotly 的基础绘图有兴趣,那么前两章的内容就能满足你的需求;如果你对

16、Plotly 更高级的绘图有兴趣,那么可以参考第 3 章的内容;对于本书其他章节的内容,可以根据自己的实际情况有选择地阅读,毕竟 Plotly 绘图所涉及的范围特别广泛,并不是每个人对这些领域都同时感兴趣。本书代码与交流 本书的所有代码都将保存在 GitHub 上,后续代码更新也会以 GitHub 地址为准,网址是 https:/ Plotly,笔者建立了 QQ 群(群号:72203080)。致谢 Plotly 虽然只是一个绘图模块,但是其应用场景非常广泛,除有 Matplotlib 的基本绘图功能外,其在 Web 开发、GUI 开发、机器学习、量化投资等领域也有很好的应用场景。由于其应用场景特别广泛,结合笔者自身知识的局限性,所以写好一本书需要多个人的共同努力,非常感谢下面这些作者对本书的创作所付出的努力:王硕负责本书的 Flask、PyTorch、JavaScript 部分;邢梦来负责本书的 Matplotlib 部分;前言 VII 袁泉负责本书的基础绘图与 Sklearn 部分;吴娜负责本书的 Pandas 部分,其他都由本人孙洋洋负责。在 Plotly 的写作过程中,还有一些人

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2