翻译:陈雨琳

校对:吴金笛

本文2200字,建议阅读8分钟。

本文将介绍实现数据可视化的软件包。

这学期(2018学年春季学期)我教授了一门关于数据可视化的数据科学硕士课程。我们的数据科学硕士项目是一个为期15个月的强化项目,这个项目已经成功地培养了许多优秀的数据科学家。

该项目的学生背景多元,并且他们在上这门课前都对R和Python有了很深入的理解。通过各种课程的学习,他们已经能够熟练使用ggplot2和matplotlib,为学习大型多变量数据可视化打下了基础。

作为一个数据可视化的研究者,我想要介绍所有那些在数据可视化领域涌现的绝妙技术。因此,我的课程的其中一部分将会是基于研究论文,在线可视化和d3示例的讲座。

Python中的数据可视化

现在大部分的数据可视化研究都是通过D3进行的。遗憾的是,我只有短短8周跟学生相处的时间,所以我只能专注于讲授理论和实践相结合的内容来帮助他们成为数据科学家。虽然学生乐于使用可视化技术探索并解释问题,但他们中的大多数对于使用D3创建美丽的自定义可视化不太感兴趣。根据之前教授这门课的教授反馈来看,在这么短的时间内教授D3是不可能的。

鉴于我自己对Python的热爱和Python给学生带来的舒适体验,我决定向他们介绍Python中神奇的(我希望是的!)软件包,它们可以实现所有我向学生展示的内容。

Seaborn的静态可视化

鉴于我过去使用seaborn的经验,我很高兴能够向学生介绍seaborn产生的美丽的可视化图案。 他们已经有了使用matplotlib的经验,所以学习seaborn时很容易,且优势巨大。 学生能够制作散点图(双变量和多变量),swarmplots,小提琴图,条形图,箱形图和带有刻面的直方图。他们了解到,使用大型数据集生成swarmplots非常耗时,而基于摘要的图(如小提琴图)是更好的选择。

Seaborn中的可视化技术示例

用Bokeh或Plot.ly实现交互式可视化

虽然seaborn能够产生美丽的可视化图形,但它们都是静态的。我希望学生体验使用交互技术(如梳理,过滤,缩放和悬停)的好处。为此,我介绍了可视化库Bokeh和Plot.ly,利用它们可以轻松实现交互式数据可视化。对于时间序列可视化分配,学生可以选择使用Bokeh或 plot.ly来实现多线图(multi line charts),热图(heatmaps),动画气泡图(animated bubble charts)等。

使用plot.ly创建的可视化示例

图片来源:PolicyViz

Bokeh中的交互式可视化

图片来源:Christine Doig

可视化树,图和网络

在讨论分层数据可视化的技术时,我很高兴地展示树状图可视化技术,并将其与节点链接图进行了比较。遗憾的是,当我深入挖掘时,却没有找到实现多级树状图的方法L 即使在导入了squarify库之后,你也只能在Python中生成一个一级树状图!

使用squarify包只能生成一级树图

图片来源:The Python Graph Gallery

精彩的networkx软件包可以被用来分析图形和网络。 然而,网络可视化只能通过matplotlib或igraph或plotly来实现(请参阅使用plotly实现网络可视化的教程)。igraph有许多不同的选项可以帮助用户尝试配置图形,但是设置起来很不方便,因此许多学生在使用时遇到了问题。另一方面,plot.ly使用顺畅,但在自定义网络图方面几乎没有选择。

地学可视化

鉴于创建交互式映射图是数据可视化的重要组成部分,我对于找到能够创建等值区域图(choropleth maps),符号图(symbol maps),统计图(cartograms),交通图(transit maps)甚至流向图(flow maps)的软件包更有信心。以下是我在Python中发现的地学可视化库:

Plot.ly允许您创建等值区域图和符号图,但几乎无法控制图的创建过程。

geoplotlib是一个小巧好用的软件包,它建立在pyglet上,但它有点不稳定,经常崩溃。它使用OpenStreetMap图块,甚至允许基于动画的空间数据可视化。我很喜欢这个包,因为它里面有一些简洁好用的示例。

geoplot看起来很完美,其中有一些很棒的例子,但是我和我们的学生都无法安装它。鉴于我们大多数人都不使用conda,我们应该注意这个警告 - “请谨慎使用,因为这可能不适用于Windows,并且可能无法在OSX和Linux上运行。”

Cartopy和geopandas+matplotlib只生成静态可视化,所有我还没有尝试过。

文本可视化

我们学习了很多关于各种文本可视化技术的知识,例如标签云(tag clouds)(例如wordle),文档散(docubursts),平行标签云(parallel tag clouds),短语网络(phrase nets)和单词树(word trees),还介绍了主题探索和情感可视化技术。

不幸的是,除了word_cloud软件包之外,对于想要在Python中实现单个文档或大型文本集可视化的人来说,几乎没有其他选项。

Web的交互式数据可视化

当前,Bokeh和Plot.ly Dash是创建允许多视图刷选和过滤的交互式仪表盘的主要选择。Bokeh的示例非常少,而Plot.ly Dash对惯于在Python中创建可视化的用户来说则非常重要。

Plot.ly Dash是基于Flask,Plotly.js和React.js构建的,同时增加了创建同步多视点可视化的障碍。我班上的一些学生团队使用Plot.ly Dash完成期末项目,但他们学得非常快。以下链接中是一个关于Ryan Campa和Shikhar Gupta通过Dash实现TED演讲数据集可视化的简单案例。

http://campa-gupta.herokuapp.com/

Altar会是理想的选择吗?

随着课程的进展,出现了一些关于Python 和 Vega组合成为Altair的消息!我欣喜地得知我所使用的Vega来自UW Interactive Data Lab。Jim Vallandingam出色的“Altair简介”教程是一个很好的起点。

Altair的主要开发人员Jake VanderPlas最近发布了他的Python笔记本和PyCon 2018视频的链接。我从那以后一直在玩它,我非常喜欢它!数据科学家们希望探索他们的数据并创建可视化图形来从内部和外部解释它们。我希望它能满足数据科学家的需求。

Altair示例库中的交互式可视化示例集合

图片来源:Altair Gallery

总结

数据科学家喜欢使用Python中的可视化库和包,我希望像Altair这样的工具就是最终的实现途径。诸如plotly,seaborn,bokeh,geoplotlib等软件包将继续发展,并拥有更多功能。通过Python实现的交互式数据可视化(用于Web)将有一个更光明的未来,我们期待这一天!

致谢

感谢Sophie Engle教授提供的讲座笔记,让我在整个学期的讲课都很顺利。感谢Shirley Wu和Robert Gove为早期的草稿提供了极有价值的反馈。

原文标题:

We need more Interactive Data Visualization tools (for the Web) in Python

原文链接:

https://medium.com/@alark/we-need-more-interactive-data-visualization-tools-for-the-web-in-python-ad80ec3f440e

译者简介

陈雨琳,清华大学大二在读,英语专业。专业学习之外喜欢学些数学、计算机类课程,被数据和模型的魅力所吸引,希望未来能往这个方向发展。道阻且长,行则将至。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

点击“阅读原文”拥抱组织

pythonweb数据可视化_独家 | 基于Python实现交互式数据可视化的工具(用于Web)相关推荐

  1. python基于web可视化_独家 | 基于Python实现交互式数据可视化的工具(用于Web)

    转自:数据派ID:datapi 作者:Alark Joshi 翻译:陈雨琳 校对:吴金笛 本文2200字,建议阅读8分钟. 本文将介绍实现数据可视化的软件包. 这学期(2018学年春季学期)我教授了一 ...

  2. python制作翻译小软件_如何基于Python制作有道翻译小工具

    这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 该工具主要是利用了爬虫,爬取web有道翻译的 ...

  3. python交互式数据可视化_基于Python实现交互式数据可视化的工具,你用过几种?...

    作者:Alark Joshi 翻译:陈雨琳 来源:数据派THU(ID:DatapiTHU) 我教授了一门关于数据可视化的数据科学硕士课程.我们的数据科学硕士项目是一个为期15个月的强化项目,这个项目已 ...

  4. python实现数据可视化软件_基于Python实现交互式数据可视化的工具

    作者:Alark Joshi 翻译:陈雨琳 校对:吴金笛 本文2200字,建议阅读8分钟. 本文将介绍实现数据可视化的软件包. 这学期(2018学年春季学期)我教授了一门关于数据可视化的数据科学硕士课 ...

  5. python 高精度时间_如何基于Python代码实现高精度免费OCR工具

    近期Github开源了一款基于Python开发.名为Textshot的截图工具,刚开源不到半个月已经500+Star. 这两天抽空看了一下Textshot的源码,的确是一个值得介绍的项目. 相对于大多 ...

  6. python收集数据程序_用一行Python代码进行数据收集探索!Python真牛逼!

    简易的Pandas之路 任何使用P ython数据的人都会熟悉Pandas包.P andas是大多数行和列格式数据的go-to包. 如果你没有Pandas,请确保在终端中使用pip install安装 ...

  7. python中如何导入数据包_如何在python中发送数据包?

    我尝试使用这段代码在 python中使用scapy发送数据包 data= "University of texas at San Antonio" a=IP(dst="1 ...

  8. 基于python的电影数据可视化分析与推荐系统

    温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从国外某电影网站和国内某电影评论网站采集电影数据,并对电影数据进行可视化分析, ...

  9. 基于python的可视化分析_基于Python 的数据分析与可视化平台研究

    基于 Python 的数据分析与可视化平台研究 宋永生 ; 黄蓉美 ; 王军 [期刊名称] <现代信息科技> [年 ( 卷 ), 期] 2019(003)021 [摘要] 数据分析与可视化 ...

最新文章

  1. 机器学习(14)逻辑回归(实战) -- 癌症分析
  2. 2018QBXT刷题游记(15)
  3. c++标准库获取随机数
  4. 【Mysql】 局域网远程连接问题
  5. vue 文件及描述信息一起上传_用Vue实现一个大文件上传和断点续传
  6. 2016微软开发者峰会在京举办 纳德拉要来做演讲
  7. jackson使用_如何在Jackson中使用PropertyNamingStrategy
  8. Shell脚本自动监控docker容器的状态
  9. Linux nm命令
  10. 华为交换机OSPF和BGP知识
  11. discuz mysql配置文件_MySQL优化配置文件my.ini(discuz论坛)
  12. PO(PageObject)模型
  13. 时间转换 秒(s)转 ()天 ()小时() 分钟 ()秒
  14. C++华为+阿里+鹅厂面经大盘点-如果换做你能成功吗?
  15. 【QT】翻金币小游戏·我的学习版
  16. C#WinForm应用程序——简易摇号系统
  17. PlotlyDash中dcc学习
  18. 用python自动绘制小猪佩奇
  19. miui 8.5 android,两年前的小米5突遭MIUI9 8.5.3更新!妥妥上安卓8.0
  20. 商战计划商业逻辑和商业模式

热门文章

  1. onMeasure实例分析
  2. 计算机组成原理作业1王诚,计算机组成原理 王诚 郭超峰 计算机组成第1章
  3. Debian 9.x 系统安装 Proxmox VE (笔记)
  4. 双足机器人的稳定性判据_双足机器人行走稳定性探究.pdf
  5. 【三维目标检测】Part-A2(一)
  6. python开发的炸金花小游戏来啦,从此不再无聊~
  7. 软件工程复试面试问题总结(一)
  8. 【阿里云资讯】作战指挥系统碾压美军?!阿里双11破千亿背后的重大机密......
  9. linux内核snat分析,Linux2.6.29.6内核netfilter代码中SNAT的过程跟踪
  10. 韩顺平学Java之九九乘法表