天天看點

大比拼:用24種可視化工具完成同一項任務的心得體會

大比拼:用24種可視化工具完成同一項任務的心得體會

回顧今年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種不同應用程式:

大比拼:用24種可視化工具完成同一項任務的心得體會

下圖是所有圖表庫的不同輸出結果:

大比拼:用24種可視化工具完成同一項任務的心得體會

讓我們開始吧!以下是我的心得體會:

“世上沒有完美的工具,隻有針對特定目标的優質工具!”

資料可視化是一種廣泛運用于不同子領域(例如科學、商業和新聞業)的溝通工具。不同領域有不同的需求 —— 但即使在資料新聞領域,資料可視化也有不同的方法和不同的目标與之相對應。不存在任何一個工具可以滿足所有的需求。

下面是我在實驗中遇到的一些互相沖突的目标:

分析vs示範:你想使用工具來挖掘資料(r,python)還是建構面向公衆的可視化(d3.js, illustrator)?tableau,ggvis,plotly試圖建立兩者之間的橋梁,但我很樂意看到更多優化的解決方案。

針對這個沖突點,以下是我對所有工具的劃分:

大比拼:用24種可視化工具完成同一項任務的心得體會

資料管理:在建立資料可視化時,您是否會更改原始資料(例如更改某值或所有數值,添加行或列)?

在一些應用程式(如illustrator)中,當你對資料做了輕微的改動時,你便需要重新建構圖形。這是最不友善的資料管理,而且阻礙實驗的程序。較為友善的辦法是更改工具外部的資料,然後(再次)導入新資料更新可視化。 d3.js就是這種方式的一個例子。但是存在其他應用程式比運用代碼處理資料更加友善:導入資料之後,您可以直接更改或添加新的轉換列(列如:plotly和lyra)。  

圖表類型vs創新型圖表:你隻需要基本的圖表類型,如條形圖或折線圖(highcharts,excel)或者你想要建立不可思議的圖表魔法(d3.js)? 基于對d3.js的了解,我認為創新型圖表庫必然伴随着冗長的代碼和陡峭的學習曲線。我在代碼進行中用一半的代碼重新建立了相同的圖表(processing太糟糕了,不适合資料可視化)。然後運用lyra,這是一個在不變更代碼的前提下允許使用資料操縱視覺元素的所有屬性的應用程式。

大比拼:用24種可視化工具完成同一項任務的心得體會

動态 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庫)使您可以輕松地将滑鼠懸停在可視元素上并檢視原始資料。

大比拼:用24種可視化工具完成同一項任務的心得體會

“世上沒有完美的工具,隻有針對特定思維方式的好工具。”

在我發表文章之後,alberto cairo建議我嘗試了兩個使用起來令我很困惑的工具yeeron和inzight(https://twitter.com/albertocairo/status/732676760840605697)。 另一方面,他指出lyra(給了我很多啟示的工具)是很難使用的。cairo和我有着不同的背景:他是一位記者兼顧設計師,但是他更傾向于認為自己是一名記者,而我更傾向于認為自己是一名設計師。他喜歡quadrigram這種将圖形看作故事的一部分的工具,并且因其具有精選的設計預設值。而我喜歡那種在繪圖的過程中給我完全自由的工具。

人類有不同的觀點和偏好,工具開發者也是如此。他們帶着特定的信念設計工具,思考工具目前的用法以及以後應該如何運作。但這些信念不一定與你的信念相符。工具開發者深受現有工具、同行同仁以及使用者回報的影響。是以,工具不可能适用于每個人,特别是在資料可視化和資料新聞領域,工具開發者和使用者有着非常不同的背景:新聞媒體人,統計,計算機科學,設計等等。如果一個工具适合為我工作,我不能認為它會讓所有人滿意。

“我們仍然處于一個“應用程式服務簡易生活,代碼引緻精彩人生”的世界。”

大多數應用程式都是很容易學習的,但是功能有限。大多數程式設計語言/圖表庫較難掌握,但可以提供更多的靈活性和選擇性。下面的圖表是我對靈活性和學習困難程度之間關系的一些主觀想法。

大比拼:用24種可視化工具完成同一項任務的心得體會

令人失望的是情況依然如此。程式設計不應該作為讓資料新聞領域家喻戶曉的先決條件。而且實際上代碼對于很多人來說仍然是可望而不可即的。我們需要從問題的兩端同時開展工作。幫助人們進入代碼的世界可以使他們在短期中感到歸屬感。但我們仍應該繼續從事開發高度靈活、使用者友好型的應用程式給更多的人帶來長遠的影響,這可以使他們在百忙之中接受最好的資料可視化規則教學。

我們歡迎像plotly,tableau,lyra和nodebox這樣通過點選和拖動界面提供高度靈活性的應用程式。我很想看到更多這樣的程式。建立與代碼一樣強大的使用者界面“隻是”一項設計上的挑戰。

“每一種工具都為你指引了一條路徑。”

我的前npr視覺隊友布萊恩·博耶在他的一篇文章(https://medium.com/npr-design/that-one-free-tool-ab585438696d#.xva3leef1)中提到。那麼什麼是可用的路徑,你會去選擇沿着哪一條路徑呢?

我的路徑心象圖如下圖所示:

大比拼:用24種可視化工具完成同一項任務的心得體會

就個人而言,我認為自己隻可以熟練地掌握“簡易友善圖表”和“分析圖表(你應該發表)”的一小部分。通過這個實驗,我很明确地想要更深入地了解“圖表分析”。而且我想更多地研究“創新型的外部圖表”。同時也想通過lyra來處理更多的原型。

原文釋出時間為:2017-02-15

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀