基于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、选项卡功能
总结
使用下来总体感觉比较简单,很方便快捷的构建起了交互式报表的效果。组件化的方式和实现方式比较传统,很适合我们这种老程序员上手:)
对于新入行的技术人员来说,这个工具无疑也是一个非常好的上手交互式可视化的利器。在大数据可视化需求多样化、花样化的当下,在众多可视化工具可供选择的当下,一款最适合自己、最适合当前项目的才是最优选择。
以上介绍,希望对你有用。
基于Python的交互式可视化工具 [转]的更多相关文章
- ipython是python的交互式shell工具
ipython: 是python的交互式shell工具,比默认的python shell工具要好用.支持变了自动补全,自动缩进,内置了很多的功能和函数 启动:可以通过cmd来启动该工具 自动补全: I ...
- 基于Python的XSS测试工具XSStrike使用方法
基于Python的XSS测试工具XSStrike使用方法 简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payl ...
- 基于Python的邮件检测工具
邮件快速检测工具 概要介绍 mmpi,是一款使用python实现的开源邮件快速检测工具库,基于community框架设计开发.mmpi支持对邮件头.邮件正文.邮件附件的解析检测,并输出json检测报告 ...
- 基于python的mysql复制工具
一简介 python-mysql-replication 是由python实现的 MySQL复制协议工具,我们可以用它来解析binlog 获取日志的insert,update,delete等事件 ,并 ...
- 基于Python的交互式访问
应用迁移中遇到一些有特殊要求的应用,比如需要通过交互生成一些新的config文件,然后启动应用需要依赖于这些文件,这样在构建镜像的时候基本上是没有办法把这些文件固定的,因为他需要根据运行环境去进行动态 ...
- 使用wxpy这个基于python实现的微信工具库的一些常见问题
使用如下的命令行安装: pip install wxpy Collecting wxpy Downloading https://files.pythonhosted.org/packages/6b/ ...
- 数据分析之---Python可视化工具
1. 数据分析基本流程 作为非专业的数据分析人员,在平时的工作中也会遇到一些任务:需要对大量进行分析,然后得出结果,解决问题. 所以了解基本的数据分析流程,数据分析手段对于提高工作效率还是非常有帮助的 ...
- Python交互图表可视化Bokeh:5 柱状图| 堆叠图| 直方图
柱状图/堆叠图/直方图 ① 单系列柱状图② 多系列柱状图③ 堆叠图④ 直方图 1.单系列柱状图 import numpy as np import pandas as pd import matplo ...
- Python绘图与可视化
Python有很多可视化工具,本篇只介绍Matplotlib. Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在Python脚本.IPython的交互环境下.Web应用 ...
随机推荐
- 重载 CreateParams 方法[1]: 从一个例子开始(取消窗口最大化、最小化按钮的三种方法)
方法1: 使用 TForm 的 BorderIcons 属性 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, C ...
- JS中函数声明与函数表达式的异同
相同点 注:函数声明和函数表达式的相同点包括但不限于以下几点 函数是一个值,所以和其他值一样,函数也可以进行被输出.被赋值.作为参数传给其他函数等相关操作,不管函数是以什么方式被定义的,当然和其他值的 ...
- mysql数据库中,通过mysqladmin工具,创建数据库
需求描述: 今天接触到了mysqladmin工具,主要是一个客户端工具,用来管理mysql server的 可以通过mysqladmin直接创建数据库,而不需要登录到mysql控制台中,在此记录下. ...
- 在可部署到brew真机上的程序包构建完之后又要如何将该程序包发布到真机上呢
1.到brew官网上去申请含有classid的bid文件,以及.sig文件 2.根据申请到的bid文件重新生成mif文件. 3.将mif文件部署到brew真机上的mif文件夹下. 4.在真机上的bre ...
- 如何:为 IIS 7.0 配置 <system.webServer> 节
https://technet.microsoft.com/zh-cn/sysinternals/bb763179.aspx https://www.cnblogs.com/tl2f/p/501615 ...
- mybatis由浅入深day01_6SqlMapConfig.xml(6.2settings全局参数配置_6.3typeAliases(类型别名)_6.4typeHandlers(类型处理器)_6.5mappers(映射配置))
6 SqlMapConfig.xml mybatis的全局配置文件SqlMapConfig.xml,配置内容和顺序如下: properties(属性) settings(全局配置参数) typeAli ...
- 超全面的JavaWeb笔记day12<Jsp&JavaBean&El表达式>
1.JSP三大指令 page include taglib 2.9个内置对象 out page pageContext request response session application exc ...
- 九度 1547 出入栈(递推DP)
题目描述: 给定一个初始为空的栈,和n个操作组成的操作序列,每个操作只可能是出栈或者入栈.要求在操作序列的执行过程中不会出现非法的操作,即不会在空栈时执行出栈操作,同时保证当操作序列完成后,栈恰好为一 ...
- java中Double的isInfinite()和isNaN()
在Double和Float类中都有这两个方法,用于判断是否是无穷大及是否为非数字 public boolean isInfinite()如果此对象表示的值是正无穷大或负无穷大,则返回 true:否则返 ...
- 未配置jdk环境变量,cmd环境能运行java -version命令
我的情况是C:\Windows\System32路径下有java.exe.javaw.exe.javaws.exe三个文件,将三个文件删除后配置自己的jdk环境变量 可能原因参考帖子:https:// ...