Python实现数据可视化,Python可视化库

  Python实现数据可视化,Python可视化库

  作者:Alark Joshi翻译:frdbb校对:xhdxtz

  正文2200字,建议读8分钟。

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

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

  这个项目的学生有着不同的背景,在学习这门课程之前,他们已经对R和Python有了深入的了解。通过各种课程,他们已经能够熟练使用ggplot2和matplotlib,为学习大规模多元数据可视化打下了基础。

  作为数据可视化的研究人员,我想介绍一下数据可视化领域出现的所有优秀技术。因此,我的部分课程将是基于d3样本的研究论文、在线可视化和讲座。

  Python中的数据可视化

  目前,几乎所有的数据可视化研究都是在D3中进行的。可惜我只和学生相处了8周,所以只能专心教授理论和实践的结合,成为一名数据科学家。学生们乐于使用可视化技术来探索和解释问题,但他们中的大多数人对使用D3创建漂亮的自定义可视化并不感兴趣。根据之前教这门课的教授反馈,不可能在这么短的时间内教完D3。

  考虑到自己对Python的热爱,以及Python给学生带来的舒适体验,我决定给他们介绍Python中的beautiful things()包,可以实现我给学生展示的所有内容。

  Seaborn的静态可视化

  基于过去使用seaborn的经验,我很高兴向学生介绍seaborn制作的美丽的视觉图案。因为他们已经有了使用matplotlib的经验,所以学习seaborn非常简单,好处也很大。学生可以制作散点图(二元和多元)、群集图、小提琴图、直方图、箱形图和带网格的直方图。他们知道使用大型数据集生成群集图需要时间,基于抽象的图形(如小提琴)是更好的选择。

  玻恩可视化技术实例

  通过散景或Plot.ly实现交互式可视化

  Seaborn可以生成漂亮的视觉图形,但都是静态的。学生有望体验使用交互式技术的好处,如漫游、过滤、缩放和悬停。为此,介绍了可以轻松实现交互式数据可视化的可视化库Bokeh和Plot.ly。关于时间序列的可视化分布,学生使用Bokeh或plot.ly实现多折线图、热图、动画气泡图等。

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

  图片:PolicyViz

  散景中的交互式可视化

  照片:Doig,一个振动的心形锁

  树、图和网络的可视化

  我很高兴在讨论层次数据可视化技术时展示了树形图可视化技术,并与节点链接图进行了比较。可惜深度挖掘之后,没有办法实现多级树形视图。即使引入了squarify库,Python也只能生成一级树视图。

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

  图片来源:Python图形库

  优秀的networkx软件包可以用于图形和网络分析。但是网络可视化只能通过matplotlib或者igraph或者plotly来实现。参见使用plotly可视化网络的教程。Igraph提供了各种选项帮助用户尝试设置图形,但是很多同学在使用的过程中因为设置不方便遇到了问题。另一方面,plot.ly可以流畅使用,但在自定义网络图方面选择余地不大。

  地学可视化

  交互式制图是数据可视化的重要组成部分,因此需要更多的软件包来创建等效的区域地图(choropleth地图(,符号地图),统计图),交通图(甚至流程图)。

  Plot.ly可用于创建等效面积图和符号图,但它很少控制创建地图的过程。

  Geoplotlib是一个小巧易用的软件包,内置在pyglet中,但它经常有点不稳定,会崩溃。您还可以使用OpenStreetMap块来可视化基于动画的空间数据。我喜欢这个包。因为有几个简单易用的例子。

  地质公园看起来很完美。有一些很棒的例子,但是我和我们的学生都不会安装。因为大部分人不用康达,所以需要注意这个警告。请小心使用,因为它不适用于Windows,可能无法在OSX和Linux上运行

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

  文本可视化

  标签云(

  例如wordle、docubursts、并行标签云、短语网和单词树。还介绍了主题探索和情感可视化技术。

  不幸的是,除了word_cloud软件包之外,对于希望用Python可视化单个文档或大型文本集的人来说,几乎没有其他选择。

  基于Web的交互式数据可视化

  目前,Bokeh和Plot.ly Dash是创建允许多视图刷屏和过滤的交互式仪表盘的主要选择。散景的例子很少,但是Plot.ly Dash对于习惯用Python创建可视化的用户来说非常重要。

  Plot.ly Dash基于Flask、Plotly.js和React.js构建,同时为创建同步多视图可视化增加了障碍。我班有些学生团队用Plot.ly Dash来完成期末项目,但是他们学得很快。以下链接是一个关于Ryan Campa和Shikhar Gupta通过Dash对TED talk数据集进行可视化的简单案例。

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

  神坛会是理想的选择吗?

  随着课程的进行,出现了一些关于Python和织女星结合成为牛郎星的消息!我很高兴得知我使用的Vega来自UW互动数据实验室。Jim Vallandingam的优秀《牛郎星入门》教程是一个很好的起点。

  牛郎星的主要开发者Cjdxh VanderPlas最近发布了他的Python笔记本和PyCon 2018视频的链接。从那以后就一直在玩,很喜欢!数据科学家希望探索他们的数据,并创建可视化图表来对内对外解释这些数据。希望能满足数据科学家的需求。

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

  图片:牛郎星画廊

  摘要

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

  表示感谢/感激

  感谢sqdmz Engle教授提供的课堂笔记,让我整个学期的讲课都很顺利。感谢Shirley Wu和Robert Gove为初稿提供了宝贵的反馈。

  原标题:

  我们需要Python中更多的交互式数据可视化工具(用于Web)

  https://medium . com/@ alark/we-need-more-interactive-data-visualization-tools-for-the-web-in-python-ad 80 EC 3 f 440 e

  译者简介:frdbb,清华大学大二学生,英语专业。喜欢上一些专业之外的数学和计算机课程,被数据和模型的魅力所吸引。希望以后能往这个方向发展。路漫漫其修远兮,行也。

  结束

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: