# PythonPlotlyCodes
《Python 数据分析:基于 Plotly 的动态可视化绘图》 源代码
# 前言
Python是一门非常优秀的编程语言,其语法简捷、易学易用,越来越受到编程人员的喜爱;Python也是一门非常“人性化”的编程语言,其各种语法规则的设计符合人们的思维方式,开发人员可以用最简单的方式实现自己的编程目的,降低时间成本;同时,Python又是一门非常强大的编程语言,其在编程的各个领域都有非常不错的表现,比如在网页开发、程序GUI设计、网络爬虫、科学计算、数据可视化、机器学习与深度学习等领域,Python都有非常好的解决方案来解决现实中的业务问题。
互联网的快速发展为我们积累了庞大的数据,计算机硬件的创新为存储与分析这些数据创造了硬件条件,编程语言的发展为分析这些数据创造了软件条件。在数据分析这个领域,Python有着自己独有的优势,简单易用的特性与强大的开源模块的支持使其成为数据分析领域方便、好用的利器。
Python在数据分析领域的广泛应用离不开其强大的开源模块的支持,大名鼎鼎的NumPy、SciPy、Statsmodels、Pandas等模块的建立与发展奠定了Python在数据分析领域中的重要地位。这些模块简单又好用,它们提供的解决方案能够解决绝大部分业务问题。在人工智能领域,Python也有非常棒的解决方案,如Sklearn、TensorFlow、MXNet、Theano、PyTorch、Caffe等都是非常好的开源模块。尤其是在人工智能中最前沿的深度学习领域,Python几乎占据了霸主的地位。Python借助在数据分析领域中开源模块的优势,于量化投资领域逐渐占据了领头羊的地位。国内外主流量化投资网站大多支持Python语言,其在量化投资领域有一种逐渐淘汰其他语言,一统“江湖”之势。
对数据的分析离不开数据的可视化,相对于Python在数据分析、人工智能、量化投资等领域中的发展,在数据可视化方面的发展有些滞后。最经典的Python可视化绘图库莫过于Matplotlib了,Matplotlib就是MATLAB+Plot+Library,即模仿MATLAB的绘图库,其绘图风格与MATLAB类似。由于MATLAB的绘图风格有些偏古典,为了绘出更漂亮的图像,Python开源社区开发出了Seaborn绘图模块,它本质上是对Matplotlib的封装,绘图效果更符合现代人的审美观。尽管如此,由于Matplotlib是基于GUI的绘图模块,因此存在特有的缺陷。
就笔者使用的经验而言,Matplotlib主要存在两大缺陷:首先,Matplotlib是一个静态的绘图模块,即我们绘出的图像是静态的,就像是用看图软件打开图片一样,没有网页绘图的交互式效果;其次,Matplotlib绘图结果的分享很不方便,在绘图结果分享给别人时只能以图片的方式分享,别人看到的绘图结果完全是静态的,分享体验很不好。Matplotlib一直以来都是Python可视化的主力军,但是确实存在无法克服的缺陷,并且其他的Python绘图模块如Ggplot、Bokeh、Pygal等都比较小众,绘图功能比较单一,完成不了对Matplotlib的替代。
为了解决Python在可视化中存在的问题,Plotly应运而生,它是一个基于JavaScript的动态绘图模块。Plotly的绘图效果与我们在网页上看到的动态交互式绘图结果是一样的,其默认的绘图结果是一个HTML网页文件,通过浏览器就可以查看。我们可以把这个HTML文件分享给其他人,对方看到的效果与我们在本机上看到的效果完全一样。
Plotly有着自己强大又丰富的绘图库,支持各种类型的绘图方案。Plotly是基于JavaScript的绘图库,所以其绘图结果可以与web应用无缝集成。总之,Plotly在绘图模块上是Matplotlib强有力的竞争对手,其绘图的种类丰富、效果美观、易于保存与分享等特点越来越受数据分析人士的喜爱,至少笔者对Plotly的喜爱胜于对Matplotlib的喜爱。Plotly最初是一款商业化的绘图软件,但是在2015年11月12日,Plotly开发团队决定把该模块的核心框架plotly.js开源,由此Plotly得到了快速发展。虽然在2016年6月,Plotly开发团队才正式发布其Python-api文档,在2017年 1月,Plotly 1.0才正式发布,但是这些都阻止不了程序员对Plotly的喜爱。自plotly.js开源之后,我们可以使用本地的离线模式进行绘图,不依赖于官方的服务器,使得绘图速度更快,效果与在线绘图一样,这也是目前使用Plotly绘图的主流模式。
市面上有很多关于Matplotlib的可视化绘图教程,但是还没有Plotly的相关图书,作为一款非常优秀的可视化绘图模块,市场上急需一本科普性的图书。在本书创作之前,市面上就已经出现了电子版的对Plotly的简单翻译版本《Plotly中文说明1期》,这是极宽量化开源团队在2017年1月的作品。极宽量化开源团队是一群研究“Python量化投资”的爱好者自愿组织的一个团队,该团队成立的初衷是为国内量化投资领域做出自己的一份贡献,目前已经成功初步翻译Pyalgotrade、Seaborn、Statsmodels、Plotly等开源模块,并公开上传到网络上,《Plotly中文说明1期》正是该团队的一个作品。笔者作为极宽量化开源团队《Plotly中文说明1期》项目的第一负责人,最初的想法只是单纯地把Plotly的基础内容简单翻译一下,以最简单、最快速的方式呈现给大家,方便大家使用。但是后来电子工业出版社的黄爱萍编辑找我沟通写作一本Plotly数据可视化的相关图书,并认为Plotly发展很快,市场上需要一本Plotly的相关教材。经过一段时间的权衡,考虑到个人对Plotly的掌握程度、开源团队对Plotly的热情、个人在写《PyQt5快速开发与实战》时与黄编辑建立的良好友谊关系,以及《Plotly中文说明1期》存在的太多的缺陷等,也为了能让更多的人接触Plotly这个优秀的绘图模块,于是决定再次抽出大量的时间来完成《Python数据分析:基于Plotly的动态可视化绘图》的创作,这就是本书的写作背景。
Plotly是一个非常优秀的顶级绘图模块,如此优秀的开源模块在国内的知名度却不是很高,这对国内开发人员来说是一个很大的遗憾。顶级模块在特定的领域达到家喻户晓的程度是一个必然的趋势,Plotly正是这种模块,它在可视化绘图领域的表现早晚会大放异彩。虽然目前Plotly在国内知名度不是很高,但其在可视化绘图领域做到家喻户晓是一个必然的趋势,只是需要有人加速这种趋势的演化过程,这就是本书存在的意义。
## 本书结构
本书的框架结构如下。
第1章是本书的快速入门部分,介绍Plotly的安装环境,对在线绘图与离线绘图做了简要的介绍。
第2章是基础绘图部分,对Plotly的一些常见的基础绘图如条形图、柱状图、饼图、气泡图、直方图等做了一些介绍。
第3章是高级图形部分,对Plotly的时间序列绘图、表格绘图、多坐标轴绘图、多子图绘图、SVG绘图等做了一些介绍,是Plotly绘图的高级玩法。
第4章是Pandas部分,介绍了Pandas这个顶级数据分析模块使用Plotly进行绘图的方法。
第5章是金融绘图部分,主要为金融领域的特殊图形尤其是K线图的绘制提供解决方案。
第6章是Matplotlib部分,主要介绍了如何把Matplotlib绘图迁移到Plotly中。
第7章是网页开发部分,主要介绍了Plotly在Python网页开发框架Django和Flask�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本书的框架结构如下。 第1章是本书的快速入门部分,介绍Plotly的安装环境,对在线绘图与离线绘图做了简要的介绍。 第2章是基础绘图部分,对Plotly的一些常见的基础绘图如条形图、柱状图、饼图、气泡图、直方图等做了一些介绍。 第3章是高级图形部分,对Plotly的时间序列绘图、表格绘图、多坐标轴绘图、多子图绘图、SVG绘图等做了一些介绍,是Plotly绘图的高级玩法。 第4章是Pandas部分,介绍了Pandas这个顶级数据分析模块使用Plotly进行绘图的方法。 第5章是金融绘图部分,主要为金融领域的特殊图形尤其是K线图的绘制提供解决方案。 第6章是Matplotlib部分,主要介绍了如何把Matplotlib绘图迁移到Plotly中。 第7章是网页开发部分,主要介绍了Plotly在Python网页开发框架Django和Flask中的应用。 第8章是GUI开发部分,主要介绍了Plotly在GUI开发框架PyQt 5中的应用。 第9章是机器学习部分,主要介绍了Plotly在基期学习框架Sklearn与PyTorch中的应用。 第10章是量化投资
资源推荐
资源详情
资源评论
收起资源包目录
《Python 数据分析:基于 Plotly 的动态可视化绘图》源代码 (582个子文件)
bootstrap.min.css 118KB
bootstrap.min.css 79KB
style.min.css 70KB
jquery-ui-1.9.2.custom.min.css 27KB
glyphicons.css 23KB
jasny-bootstrap.min.css 21KB
fullcalendar.css 11KB
font-awesome.css 11KB
uniform.default.css 10KB
bootstrap-responsive.min.css 9KB
adminia.css 8KB
bootstrap-toggle-buttons.css 6KB
plans.css 5KB
jquery.plupload.queue.css 4KB
jquery.miniColors.css 4KB
jquery.ui.plupload.css 3KB
login.css 3KB
bootstrap-select.css 2KB
jasny-bootstrap-responsive.min.css 2KB
faq.css 1KB
farbtastic.css 1KB
dashboard.css 1KB
bootstrap-wysihtml5-0.0.2.css 985B
adminia-responsive.css 701B
prettify.css 675B
tk01.csv 526KB
tk01sr.csv 526KB
day01.csv 254KB
000016.csv 217KB
000300.csv 204KB
day01.csv 189KB
day01.csv 189KB
600401.csv 107KB
tk01_m1.csv 91KB
macd20_qxLib.csv 25KB
macd20_600401.csv 23KB
tk01_m5.csv 20KB
tk01_m15.csv 7KB
appl.csv 3KB
macd20_xtrdLib.csv 1KB
Thumbs.db 50KB
Thumbs.db 18KB
Thumbs.db 13KB
Thumbs.db 11KB
Thumbs.db 9KB
Thumbs.db 7KB
Thumbs.db 6KB
Thumbs.db 6KB
Thumbs.db 4KB
glyphicons-regular_162a16fe.eot 143KB
glyphicons-regular.eot 143KB
fontawesome-webfont.eot 41KB
fontawesome-webfont_162a16fe.eot 41KB
iconic_stroke.eot 25KB
iconic_fill_162a16fe.eot 25KB
iconic_fill.eot 25KB
backgrounds.gif 3KB
throbber.gif 2KB
done.gif 1024B
error.gif 994B
delete.gif 180B
.gitignore 1KB
K-means.html 2.72MB
SVM_clustering.html 2.55MB
monte_markovitz.html 2.4MB
macd20.html 2.38MB
if_hs300_bais.html 2.38MB
SVR.html 2.37MB
产品组合信息表.html 2.36MB
gantt-hours-minutes.html 2.36MB
gantt-group-tasks-together.html 2.36MB
产品组合VS沪深300.html 2.36MB
gantt-string-variable.html 2.36MB
gantt-numeric-variable.html 2.36MB
gantt-simple-gantt-chart.html 2.36MB
产品组合成分饼图.html 2.36MB
Distplot_with_Multiple_Datasets.html 2.35MB
scatter_dataLabel.html 2.32MB
RangeSlide.html 2.3MB
style_table.html 2.29MB
scatter_2.html 2.29MB
Mixed Subplots Volcano.html 2.28MB
stacked_histogram.html 2.27MB
scatter_style.html 2.27MB
overlaid_histogram.html 2.27MB
clusters.html 2.27MB
subplot_2.html 2.26MB
pandas_table.html 2.26MB
subplot_1.html 2.25MB
cumulative_histogram.html 2.25MB
basic_histogram.html 2.25MB
axis_limit.html 2.25MB
basic_line.html 2.25MB
scatter_basic_demo.html 2.24MB
first_ohlc_old.html 2.24MB
bar_2.html 2.24MB
tangent-line.html 2.24MB
first_candlestick_old.html 2.24MB
matplotlib_plotly.html 2.24MB
subplot_table_vertical.html 2.24MB
共 582 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
H_zizi
- 粉丝: 355
- 资源: 66
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功