cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

栏目: 数据库 · 发布时间: 5年前

内容简介:plotly是一款强大的基于javascript的可视化库,包括但不限于以下优点:pandas和plotly我们之前都分享过,但是plotly与pandas都这么优秀好用,而且还可以无缝衔接使用,这么重要的技巧没有分享是个遗憾。所以今天准备把刚学到的分享给大家。如果没有多了解无缝衔接,可能代码类似于下面这样,代码量虽然不少但也实现了炫酷的效果。这里就用比较简单的折线图为例

plotly是一款强大的基于javascript的可视化库,包括但不限于以下优点:

  • 可开发web版可视化界面

  • 相比matplotlib、R更加现代化

  • 支持3D可视化绘图

  • 有强大丰富的多语言生态,支持 python 、R、matlab、Jupyter、Excel

  • 与pandas可无缝衔接

pandas和plotly我们之前都分享过,但是plotly与pandas都这么优秀好用,而且还可以无缝衔接使用,这么重要的技巧没有分享是个遗憾。所以今天准备把刚学到的分享给大家。

粗暴的衔接

如果没有多了解无缝衔接,可能代码类似于下面这样,代码量虽然不少但也实现了炫酷的效果。这里就用比较简单的折线图为例

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

无缝衔接外挂库-cufflinks

开始之前我们需要先安装cufflinks库,该库可以很方便的生成实验数据,而且最吸引人的是可以让pandas真正实现无缝衔接plotly,在pandas语法中使用plotly的功能。但要注意目前cufflinks的支持仅限于jupyter notebook,在其他IDLE中无法使用。

我们先看个简单的例子,再详细讲解cufflinks的常用功能。

运行

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

从上面的例子中我们直接在dataframe类型上使用plotly的绘图方法iplot。下面我们详细讲解上面涉及到的一些模块,如生成实验数据、绘图、自定义绘图等

生成实验数据

学习pandas等数据分析包的时候往往需要准备各种各样的数据集,或者使用一些数据生成包,cufflinks库可以帮助我们快速生成所需要的数据,不会因为纠结数据而耽误pandas的学习。

cufflinks.datagen是cufflinks封装好的生成pandas数据的模块,里面包含常见的如bar、pie、scatter、ohlc(美国折线图数据)等。使用前可以先使用help函数查看每种方法的文档

运行

现在我们生成数据

Run

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

我们也可以自定义数据源,如定义好数据的字段名和长度。如果对讲解过程中的方法参数不懂,可以使用help函数,如 help(cf.datagen.lines)

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

自定义图主题样式

cufflinks为我们提供了丰富的主题样式,使用cufflinks.getThemes()可以得到当前cufflinks支持的所有主题

Run

上面的运行结果表明目前cufflinks支持包括polar、pearl、henanigans、solar、ggplot、space和white等7种主题。

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

自定义绘图

cufflinks绘图函数df.iplot参数很多,我们讲解常用的一些参数

  • kind: 图的种类,如scatter、pie、bar、spread等

  • mode: lines、markers、lines+markers,分别表示折线、点、折线和点

  • colors: 轨迹对应的颜色

  • dash:轨迹对应的虚实线,solid、dash、dashdot三种

  • width:轨迹的粗细

  • xTitle:横坐标名称

  • yTitle: 纵坐标的名称

  • title: 图表的标题

下面我们看一个例子

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

一行作图

上面的例子都是使用十几行做图,实际上cufflinks可以只用一行就能做出很酷的图表

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

从上面的例子中会发现cufflinks非常简单易用,大家如果对此感兴趣,可以关注cufflinks项目 https://github.com/santosjorge/cufflinks

推荐阅读

【视频教程】python爬虫|文本分析|机器学习快速入门

flashtext:大规模文本数据清洗利器

学习编程遇到问题,该如何正确的提问?

100G 文本分析语料资源(免费下载)  

seaborn在金融数据可视化中的应用

中文数据可视化你需要知道的一个库

手把手教你学会LDA话题模型可视化pyLDAvis库

如何用Google Colab高效的学习Python

如何用Python找到投资时的最佳组合比例

大神kennethreitz写出requests-html号称为人设计的解析库

少有人知的python数据科学库

cufflinks: 让pandas拥有plotly的炫酷的动态可视化能力

如果想要获取更多例子,可以关注本公众号,

后台回复 ' 20190505 ' 获得本教程及扩展教程的notebook代码下载方式


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人本界面

人本界面

(美)拉斯基(Jef Raskin) / 史元春 / 机械工业出版社 / 2004-1-1 / 28.0

如果我们想克服目前人机界面上的固有缺陷,就很有必要理解本书的教义;若无此愿望,读读也无妨。交互设计的许多重要方面此书并没有包括在内,因为许多文献中都已经有详尽的阐述。本书的意图是补充现有的界面设计的方法或预测未来。  本书概述了人机界面设计领域的研究成果,详细论证了界面设计思想应以认知学为基础,并考虑人类的心智特点,在指出当前界面设计中弊端的同时,提出了新产品开发的思路。本书集计算机科学、人体工程......一起来看看 《人本界面》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具