zw-ps:几年前d老文章了,现在依然有参考价值,特别是对于初学者。
参见:
zw公开课与哈佛、斯坦福MBA案例教学
TQ极宽量化·课程简介
Plotly 新一代互动型python量化绘图库
zw 2016-12-19 25 ℃ 0条点评
Plotly 新一代互动型python量化绘图库
摘自zw量化培训班-高级班课件

python量化的一个关键,是金融数据可视化,无论是传统的k线图,还是现在的互动策略分析,都需要大量的可视化图表分析。
具体到编程代码,就是各种python绘图模块库。
图1-1,图1-2,是新一代python绘图库plotly的部分图表案例。
Plotly 新一代互动型python量化绘图库
图1-1 plotly部分图表案例
Plotly 新一代互动型python量化绘图库
图1-2 plotly部分图表案例
python常见的绘图模块库有:
matplotlib,是最常用的绘制二维图形的Python模块库,非常强大,也很复杂。它提供了许多 Matlab的绘图函数,可以绘制多种图形:线图,直方图,饼图,散点图以及误差线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小 等;它能够很好地支持一部分 TeX 排版命令,可以比较美观地显示图形中的数学公式。
Seaborn,是基于matplotlib的基础,更加简单、强大的python绘图模块库,提供了更加现代的色彩组合与图表形式,并针对数据统计进行了大量的优化。Seaborn图表模块库,使数据看起来更具有吸引力,还可以很简单地创建更复杂的图表,也可以和pandas集成。
ggplot,ggplot基于Leland Wilkinson在图形语法(Grammar of Graphics)理论设计的回头客。ggplot最早在R语言中实现,目前也有python版本。ggplot与seaborn相似,也是基于matplotlib,用于简化matplotlib可视化,并改善可视化效果。与seaborn不同的是,它是R语言ggplot2的移值。因此,一些API对于python不太友好,但它确实非常强大。 使用ggplot绘图的过程就是选择合适的几何对象、图形属性和统计变换来充分暴露数据中所含有的信息的过程。ggplot2采用特殊的图形语法结构,需要一定的时间去入门学习,但是当你掌握了图形语法的时候,你会感受到这其中的优雅。
Bokeh,Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库。这是Bokeh与其它可视化库最核心的区别。
Pychart,用于创建高品质封装的PostScript,PDF格式,PNG,或SVG图表Python库。
PLPlot,用于创建科学图表的跨平台软件包。以C类库为核心,支持各种语言绑定(C, C++, Fortran, Java, Python, Perl etc.)。
Vpython,是Visual Python的简写,是由Carnegie Mellon University(卡耐基-梅隆大学)在校学生David Scherer于2000年撰写的一个Python 3D绘图模块。
pygal,可用来创建svg图表,svg文件对于创建交互图表非常有用。可以很容易创建个性化的,视觉体验很好的图表,不过没有基于matploglib的方案那样灵活。
Plotly,新一代互动型py量化绘图库,被网友称为:Plotly是有史以来最牛逼的绘图工具,没有之一。
python绘图模块库,数不胜数,其中称为经典的也有数十家,目前,Plotly作为新一代互动型py量化绘图库,基本上可以说一统天下。
原本plotly是收费的商业软件,幸运的是,2016年6月,plotly绘图模块库提供了免费的社区版本,并新增了python等多种编程语言的接口,以及离线(offline)模式支持,这对于广大中国用户而言,提供了现实的技术支持。
笔者在编著《零起点,python大数据与量化分析–进阶篇时》,特别针对多种python绘图模块库进行了测试,测试结果表明,Plotly绘图模块库,的确无愧是新一代python绘图模块的王者之选,也是各种web平台的优先选择。
以笔者个人的测试感觉而言,Plotly绘图模块,即有matplotlib绘图模块的强大与灵活,也有Seaborn统计绘图的现代配色组合与优雅报表;与传统绘图模块不同,Plotly绘图模块虽然也可直接生成png等图像文件,但默认方式,是与bokeh互动图表模块,以及各种基于web的javascript图表模块库类似 ,生成的是一个内置javascript脚本的htm网页文件,虽然文件体积上比bokeh绘图模块生成的文件略大,但互动性方面,强大的多;至于3D图表方面,虽然笔者没有实际测试,但基于plotly网站的案例,可以看出,比传统python 3D图表模块库,无论在图表种类格式、还是色彩组合方面,都显得更加灵活,也更加强大。
如以下各图(图1-3至图1-5)所示,是plotly绘图模块与各种传统python绘图模块的对比。
Plotly 新一代互动型python量化绘图库
图1-3 matplotlab绘图模块库的k线图
Plotly 新一代互动型python量化绘图库
图1-4 Seaborn绘图模块库的统计图
Plotly 新一代互动型python量化绘图库
图1-5 plotly绘图模块库的k线图
从图1-3至图1-5,大家可以感受到plotly的强大,无论是颜色组合、图表构成,以及互动的数据展示;gif动态截图图的是plotly生成的k线图互动操作录像,生成的其实是一个纯js的htm文件,已经上传的群文件共享,大家可以参考,晚一点,网站会发一个blog
Plotly原本是基于javascript的数据图表分析绘制模块库,在编程的灵活性和图表的丰富性方面,非常强大,优点数不胜数:
plotly本身是一款独立的web版数据可视化工具,界面友好,提供强大的互动性操作。
基于现代的配色组合、图表形式,比matpltloa、R语言的图表,更加现代、绚丽
简单强大的3d图表绘制,支持多种格式
对图形参数的修改十分简单直观,便于初学者使用
有python、R、matlab、jupter、excel等多种版本的接口。
与pandas(潘达思)数据分析软件无缝集成,并提供了专门的
plotly绘图模块库,设计的图表,非常吸引人,而且高度互动。得益于其完善的文档和简单的python API,起步入门也很容易的。
目前,plotly绘图模块库,支持的图表格式有:
基本图表:20种
统计和海运方式图:12种
科学图表:21种
财务图表:2种
地图:8种
3D图表:19种
报告生成:4种
连接数据库:7种
拟合工具:3种
流动图表:4种
随着plotly绘图模块库软件的升级与更新,未来,会增加更多的图表格式。
plotly绘图模块库网络资源
网站:plot.ly
python模块库:plot.ly/pyhton
GitHub项目网址:github.com/plotly/plotly.py



请大家关注TOP极宽量化公众号:TOP极宽量化,浏览,TopQuant.vip极宽网站,大量原创量化资料和课件、案例源码。关注公众号,即可获得最新网盘下载地址。TQ极宽·相关网络QQ社群如下:
- QQ群号:124134140,TOP极宽金融量化总群,面向专业金融实盘用户,三千人大群。
- QQ群号:1057170501,zwPython.com学习群,面向py初学者和大众小白用户,两千人大群。
- QQ群号:699266891,TFB极宽足球大数据,TFB=TopFootBall
- QQ群号:790548107,FASTAI智能量化
- QQ群号:663952322,PytorchLightning智能框架
- QQ群号:655402626,CBF中华大字库,ziwang.com字王网站,已升级为元字库: metafont.vip