回顾今年5月,我为自己制定了一项挑战——我想要在数据可视化领域尝试使用尽可能多的应用程序、库和编程语言。为了在一个公平的竞争环境中比较这些工具,我运用这些工具分别创建了相同的散点图(也称为气泡图)。

基于结果,我发布了两篇文章:

1.数据可视化应用程序(http://lisacharlotterost.github.io/2016/05/17/one-chart-tools/);

2.数据可视化库和编程语言(http://lisacharlotterost.github.io/2016/05/17/one-chart-code/)。

所有工具的使用情况概述可以在这个Google电子表(https://docs.google.com/spreadsheets/d/1Ac4ZOBJRNOipVOnF0vW6H3mXSf8H3XM7z9zMh3OxP7I/edit#gid=0 )中找到。现在我将从更高级的视角来比较这些工具罗列我的经验所得。

充分说明:尝试使用新工具之前,本实验深受已掌握工具的影响。按照工具使用时长排序,它们是:Adobe Illustrator, Google Sheets, Tableau, R & ggplot2, d3.js, Processing, Raw, Lyra.

以下GIF图是我创建相同图表所用到的12种不同应用程序:

下图是所有图表库的不同输出结果:

让我们开始吧!以下是我的心得体会:

“世上没有完美的工具,只有针对特定目标的优质工具!”

数据可视化是一种广泛运用于不同子领域(例如科学、商业和新闻业)的沟通工具。不同领域有不同的需求 —— 但即使在数据新闻领域,数据可视化也有不同的方法和不同的目标与之相对应。不存在任何一个工具可以满足所有的需求。

下面是我在实验中遇到的一些相互矛盾的目标:

分析vs演示:你想使用工具来挖掘数据(R,Python)还是构建面向公众的可视化(D3.js, Illustrator)?Tableau,Ggvis,Plotly试图建立两者之间的桥梁,但我很乐意看到更多优化的解决方案。

针对这个矛盾点,以下是我对所有工具的划分:

数据管理:在创建数据可视化时,您是否会更改原始数据(例如更改某值或所有数值,添加行或列)?

在一些应用程序(如Illustrator)中,当你对数据做了轻微的改动时,你便需要重新构建图形。这是最不方便的数据管理,而且阻碍实验的进程。较为方便的办法是更改工具外部的数据,然后(再次)导入新数据更新可视化。 D3.js就是这种方式的一个例子。但是存在其他应用程序比运用代码处理数据更加方便:导入数据之后,您可以直接更改或添加新的转换列(列如:Plotly和Lyra)。

图表类型vs创新型图表:你只需要基本的图表类型,如条形图或折线图(Highcharts,Excel)或者你想要创建不可思议的图表魔法(D3.js)? 基于对D3.js的理解,我认为创新型图表库必然伴随着冗长的代码和陡峭的学习曲线。我在代码处理中用一半的代码重新创建了相同的图表(Processing太糟糕了,不适合数据可视化)。然后运用Lyra,这是一个在不变更代码的前提下允许使用数据操纵视觉元素的所有属性的应用程序。

动态 vs 静态:你想要为网络创建交互性的图表(D3.js,Highcharts)吗? 或者你不介意最终创建一个PDF / SVG / PNG(R,Illustrator)? 几年前,交互性图表被视为圣杯 - 但是近来人们似乎已经从“看起来”转向了开始思考它的意义。(https://github.com/archietse/malofiej-2016/blob/master/tse-malofiej-2016-slides.pdf)

而且,交互性图表对于分析的部分也是很有意义的。 R语言中(如Ggvis和Plotly库)使您可以轻松地将鼠标悬停在可视元素上并查看原始数据。

“世上没有完美的工具,只有针对特定思维方式的好工具。”

在我发表文章之后,Alberto Cairo建议我尝试了两个使用起来令我很困惑的工具Yeeron和InZight(https://twitter.com/albertocairo/status/732676760840605697)。 另一方面,他指出Lyra(给了我很多启示的工具)是很难使用的。Cairo和我有着不同的背景:他是一位记者兼顾设计师,但是他更倾向于认为自己是一名记者,而我更倾向于认为自己是一名设计师。他喜欢Quadrigram这种将图形看作故事的一部分的工具,并且因其具有精选的设计默认值。而我喜欢那种在绘图的过程中给我完全自由的工具。

人类有不同的观点和偏好,工具开发者也是如此。他们带着特定的信念设计工具,思考工具当前的用法以及以后应该如何运作。但这些信念不一定与你的信念相符。工具开发者深受现有工具、同行同仁以及用户反馈的影响。因此,工具不可能适用于每个人,特别是在数据可视化和数据新闻领域,工具开发者和使用者有着非常不同的背景:新闻媒体人,统计,计算机科学,设计等等。如果一个工具适合为我工作,我不能认为它会让所有人满意。

“我们仍然处于一个“应用程序服务简易生活,代码引致精彩人生”的世界。”

大多数应用程序都是很容易学习的,但是功能有限。大多数编程语言/图表库较难掌握,但可以提供更多的灵活性和选择性。下面的图表是我对灵活性和学习困难程度之间关系的一些主观想法。

令人失望的是情况依然如此。编程不应该作为让数据新闻领域家喻户晓的先决条件。而且实际上代码对于很多人来说仍然是可望而不可即的。我们需要从问题的两端同时开展工作。帮助人们进入代码的世界可以使他们在短期中感到归属感。但我们仍应该继续从事开发高度灵活、用户友好型的应用程序给更多的人带来长远的影响,这可以使他们在百忙之中接受最好的数据可视化规则教学。

我们欢迎像Plotly,Tableau,Lyra和NodeBox这样通过点击和拖动界面提供高度灵活性的应用程序。我很想看到更多这样的程序。创建与代码一样强大的用户界面“只是”一项设计上的挑战。

“每一种工具都为你指引了一条路径。”

我的前NPR视觉队友布莱恩·博耶在他的一篇文章(https://medium.com/npr-design/that-one-free-tool-ab585438696d#.xva3leef1)中提到。那么什么是可用的路径,你会去选择沿着哪一条路径呢?

我的路径心象图如下图所示:

就个人而言,我认为自己只可以熟练地掌握“简易方便图表”和“分析图表(你应该发表)”的一小部分。通过这个实验,我很明确地想要更深入地了解“图表分析”。而且我想更多地研究“创新型的外部图表”。同时也想通过Lyra来处理更多的原型。

原文发布时间为:2017-02-15

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

大比拼:用24种可视化工具完成同一项任务的心得体会相关推荐

  1. 一张图,教你用25种可视化工具如何完成

    一张图,教你用25种可视化工具如何完成 发布时间: 2017-5-4 9:58:39   散点图真是一个比较神奇的图形,正如它的名字一样,一堆纷乱如麻的圆点,看似无迹可寻却能显示出数据难以显示的内在逻 ...

  2. python五种可视化工具及六道常见面试题

    2017-12-26  吊炸天的  [Python五种可视化工具] 在 Python 中,将数据可视化有多种选择,正是因为这种多样性,何时选用何种方案才变得极具挑战性.本文包含了一些较为流行的工具以及 ...

  3. 51款BI产品、80种可视化工具、80张图(总有一款适合你)

    后台回复["可视化"]领取PDF版本 BI(Business Intelligence)即商业智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确的提供报表 ...

  4. 吐血整理:24种可视化图表优缺点对比,一图看懂!

    来源:大数据DT 本文约3900字,建议阅读7分钟 史上最全图表类型术语&指南来了! 安德鲁·阿伯拉(Andrew Abela)制作的<这份指南>(This Guide)是思考图表 ...

  5. 24种可视化图表优缺点

    安德鲁·阿伯拉(Andrew Abela)制作的<这份指南>(This Guide)是思考图表类型的一个很好的起点,但不要把它用作决策引擎.并不是人人都同意他对图表类型的组织方式,层级结构 ...

  6. 大厂,常用,四款,大屏可视化工具

    作者 | JEECG官方博客 来源 | http://blog.csdn.net/zhangdaiscott/article/details/109057686 最经常的工作是将一些项目的数据从数据库 ...

  7. 最好用的20个数据可视化工具(一)

    来源:GBin1.com 从 简单列表到复杂的地图或信息图表,Brian Suda工具集合了最好用的,几乎全部免费的数据处理工具供你使用.人们问我最多的问题,就是如何使数据可视化.通过以下介绍,加以练 ...

  8. zookeeper 可视化_大厂,常用,四款,大屏可视化工具

    小编最经常的工作是将一些项目的数据从数据库导出,然后分门别类的列到excel表格中,领导看起来眼花缭乱.小编想,要是能以图表可视化展现出来,领导就可以看到项目近几个月的走势,也知道之后要怎么决策了.小 ...

  9. 两组声音的一维数据如何比较相似度_TSNE高维数据降维可视化工具 入门到理解 + python实现...

    1 什么是TSNE? TSNE是由T和SNE组成,T分布和随机近邻嵌入(Stochastic neighbor Embedding). TSNE是一种可视化工具,将高位数据降到2-3维,然后画成图. ...

最新文章

  1. hwclock date
  2. C++语言之可重载运算符/不可重载运算符
  3. APM - 零侵入监控JDBC服务
  4. C++学习笔记-----operator=函数处理自赋值
  5. android 蓝牙各种UUID (转)
  6. 飞飞CMS黑色自适应BX8X主题模板
  7. pytorch 保存、加载模型
  8. mysql8连接java_JAVA连接MYSQL8.0问题
  9. 30岁的你,目标工资是多少?
  10. 黑马程序员 Python学习笔记之变量
  11. 海美迪盒子android升级包,海美迪H5固件升级ROM系统刷机包下载_刷机教程
  12. 匹配区县代码_全国区县代码1
  13. SDK学院--易接网游SDK中间件接入使用说明-Unity3D游戏接口
  14. java 将pdf文件转成高清图片(多张合并成一张)
  15. 祝所有的程序猿春节愉快,好好休息
  16. 利用C,C++的宏,获取变量名!
  17. java的mysql语句规范_mysql 规范
  18. 热门话题“30岁还没结婚你会考虑将就么?”数据告诉你,网友们都如何做出抉择
  19. 手机 音乐 推送 到 linux 播放器,很简单地解决了:用手机控制群晖播放音乐并推送到功放的问题...
  20. 【回归预测-LSSVM预测】基于PSO和PSR结合LSSVM实现数据回归预测附matlab代码

热门文章

  1. Debian 6 7 8 utc时间设置
  2. Qt程序启动画面播放(gif与swf两种动画格式)
  3. .net 中,使用c# 语言 ,执行exe程序。
  4. 网线的制作方法和千兆网线的施工注意事项
  5. JavaScript几个小技巧
  6. hdu2087 剪花布条 暴力/KMP
  7. NK3C框架(MyBatis、Durid)连接SQL Server
  8. modules not found(模块未找到)的解决方案
  9. Linux——文件管理之inode
  10. Vue中插入HTML代码的方法