基于Python的交互式可视化工具 [转]

时间:2021-05-07 05:23:17

前几天发现一个可视化工具Dash,当看到它的交互式效果后突然就觉得眼前一亮。早就想写出来分享给大家,今天利用睡前一点时间发出来,希望能给有需要的朋友带来一点帮助或者多一个参考。

基于Python的交互式可视化工具 [转]

Dash介绍

在Python语言环境里,有不少可视化解决方案,以前的公众号文章曾经介绍过几个。这些工具很适合利用静态数据来展示图形效果,如果要在数据基础之上增加交互功能,就需要额外增加不少代码。要么实现起来比较复杂,要么很难实现实时交互。

有了Dash以后,这个问题就好解决了。

Dash是利用Flask、plotly.js和React.js构建起来的自定义可视化开源框架。

大概在2017年6月,Dash被正式发布为开源库,用于构建交互式可视化网页。类似echarts和highcharts,基本上都是基于js来实现图形效果。但是!Dash是基于Python运行,这就可以跟pandas和Numpy,甚至人工智能的包无缝对接。

有人又要说了,D3、echarts和highcharts在Flask下也可以结合使用啊。是的,但是Dash为你做了很多整合的工作,代码量要少很多,甚至你不要懂太多的HTML标签就可以做交互式报表。

Dash安装

支持Python2和3

pip install dash==0.18.3
pip install dash-renderer==0.10.0
pip install dash-html-components==0.7.0
pip install dash-core-components==0.12.6
pip install plotly --upgrade

安装成功之后,我们先来运行一个简单的示例。这里拿13日收盘后涨幅排名前50只股票的PE做一个柱状图的展示。

基于Python的交互式可视化工具 [转]

运行效果如下:

基于Python的交互式可视化工具 [转]

交互式效果

由于时间关系,暂且只从官网找一些交互式效果展示给大家。

1、通过pandas DataFrame数据展示Slide效果

基于Python的交互式可视化工具 [转]

2、动态地图效果

基于Python的交互式可视化工具 [转]

3、交互式数据表格

基于Python的交互式可视化工具 [转]

4、动态3D效果

基于Python的交互式可视化工具 [转]

Dash组件

Dash封装了常见常用的HTML组件,类似上面动态交互的输入框、下拉菜单,按钮等。

我们看几个最简单的,有兴趣的朋友可以自己尝试。

1、输入框

基于Python的交互式可视化工具 [转]

2、复选框

基于Python的交互式可视化工具 [转]

3、按钮

基于Python的交互式可视化工具 [转]

4、数据上传组件

基于Python的交互式可视化工具 [转]

5、选项卡功能

基于Python的交互式可视化工具 [转]

总结

使用下来总体感觉比较简单,很方便快捷的构建起了交互式报表的效果。组件化的方式和实现方式比较传统,很适合我们这种老程序员上手:)

对于新入行的技术人员来说,这个工具无疑也是一个非常好的上手交互式可视化的利器。在大数据可视化需求多样化、花样化的当下,在众多可视化工具可供选择的当下,一款最适合自己、最适合当前项目的才是最优选择。

以上介绍,希望对你有用。