喝水不长肉
作者喝水不长肉·2017-06-12 11:09
软件开发工程师·帆软

如何选择数据可视化工具?

字数 1760阅读 1403评论 0赞 0

如何选用数据可视化工具?在回答这个问题之前现需要回答另外一个问题,你需要用这些数据可视化工具来做什么,实现什么目的。

也许你有一个完整的想法,已经通过验证了,需要用更直观易懂的方式来展现,从而讲述一个逻辑或者是一个故事;也许你是有大量的数据,你想怎么从这些数据中间发现,挖掘,并展现一些数据背后的知识或者洞察;也许你是有各种各样的数据,但是你不懂数据建模,编程,或者数据清洗,甚至是SQL的优化等你需要一个易用的数据可视化工具实现通过拖拽就能完成数据的可视化,并且可以给出最合适的展示图形;也许还有其他的各种场景,但是所有数据可视化工具都有他核心服务的一个场景,漂亮,易用,简单,协作,智能等等。每一个数据可视化工具都有一个定位的标签。应该通过我们需要的核心需求来做选择。做一个简单分类:

  1. 明确目标的易用,多样展示型工具,比如Tableau;
  2. 可以支持灵活定制的展示型,比如图标库D3;
  3. 不明确目标的数据探索型,比如google spreadsheet的explore;
  4. 有行业诉求既能可视化分析又能数据探索的,比如帆软FineBI;
  5. 按照行业或者职能需求的数据可视化,比如DOMO,Qlikview;

之前看到某网友用了24种工具制作一个相同的图表,比较了12款可视化软件和12个编程/图表库,并针对工具/图表库的侧重度,灵活程度,图表创新性,交互效果四大方面,写了一篇一级棒的文章。

今年5月,这个妹子给自己设置了一个挑战:尽可能尝试使用多种多样的编程语言或者软件来进行数据可视化。为了比较这些工具,她利用这些工具重复制作了同样的一张散点图。基于结果,她还发布了两篇文章:一篇是用12种软件做一个相同的图表,另一篇是用12种编程/图表库做一个相同的图表。下图展示了她使用12个不同的软件制作同一张散点图的过程:
1.jpg

1.jpg

这是12种编程/图表库制作出来的效果:
2.jpg

2.jpg

她从这些可视化软件/图表库中认识到:没有十全十美的工具,但是如果确立(可视化)目标,就能找到合适的工具去实现。下面是她在制作中曾遇到过的一些矛盾,也是数据可视化工作者常常遇到的情况。

1、分析 VS 展示:

是想使用工具(R, Python)来分析数据,还是更注重于构建可视化效果(D3.js, Illustrator)?有些BI工具(比如说FineBI, Tableau, Plotly)试图在这其中谋求平衡,既可分析又可展示。她根据分析和展示上的侧重性对可视化工具和编程语言们进行了排列:可以看到工具类的往往更注重展示,而编程类的比较平均,各有侧重。
3.jpg

3.jpg

2、数据管理

如果制作可视化的时候需要更改源数据怎么办?在这方面,这些工具或编程语言的灵活性如何?

低灵活性:比如在Illustrator中,即使你只是轻微修改了数据,也需要重头开始制作图表,这种工具还不方便进行数据管理。

中灵活性:比如在D3.js中,可以单独处理或修改数据,然后再重新导入数据文件来更新可视化结果。

高灵活性:比如在FineBI中,数据分析的处理如数据建模,数据清洗,甚至是SQL的优化,大数据量的处理都可以在一个平台完成,同时易用,拖拽就能完成数据的可视化。
4.jpg

4.jpg

3、传统图表 VS 创新图表:

如果你只需要基本的图表类型,如柱状图或折线图,Excel完全可以满足啦~但你如果想创建表现形式更为丰富的互动图表,比如点击可以出现酷炫的交互效果,像D3.js之类的编程语言就更适合啦,但是学习此类工具的门槛也往往更高,有着陡峭的学习曲线和冗长的代码。或者也可以使用Processing,用它制作这张散点图的代码长度只有D3.js的一半。还有Lyra,它不需要任何代码基础,但也可以让你轻松修改数据有关的视觉元素。

4、交互图表 VS 静态图表:

你是需要创造基于网页的交互图表(如D3.js, Highcharts能做到的),还是PDF/SVG/PNG形态的图表就能满足你 (R和Illustrator可以做到)?几年前,互动图表曾受到高度追捧,但现在关注焦点慢慢从“看起来怎么样”转移到“什么才更有意义”。对于分析部分,交互特性往往也是很有必要存在的。Plotly和R的库Ggvis就可以让读者轻松地将鼠标悬停在可视元素上来查看基础数据。下图是作者对于软件/编程的在静态和交互的划分:
5.jpg

5.jpg

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广