zoukankan      html  css  js  c++  java
  • 基于Python的交互式可视化工具 [转]

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

     

     

    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做一个柱状图的展示。

    运行效果如下:

    交互式效果

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

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

    2、动态地图效果

    3、交互式数据表格

     

    4、动态3D效果

     

    Dash组件

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

     

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

     

    1、输入框

    2、复选框

    3、按钮

    4、数据上传组件

    5、选项卡功能

    总结

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

     

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

     

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

     

     

     

     

     

  • 相关阅读:
    11月28日总结
    12月06日总结
    12月02日总结
    11月26日总结
    12月05日总结
    11月30日总结
    软件设计职责链模式
    软件设计策略模式
    软件设计组合模式
    大数据竞赛练习题二
  • 原文地址:https://www.cnblogs.com/welhzh/p/7675606.html
Copyright © 2011-2022 走看看