大比拚:用24種可視化工具完成同一項任務的心得體會
回顧今年5月,我為自己製定了一項挑戰——我想要在數據可視化領域嚐試使用盡可能多的應用程序、庫和編程語言。為了在一個公平的競爭環境中比較這些工具,我運用這些工具分別創建了相同的散點圖(也稱為氣泡圖)。
基於結果,我發布了兩篇文章:
1.數據可視化應用程序(https://lisacharlotterost.github.io/2016/05/17/one-chart-tools/);
2.數據可視化庫和編程語言(https://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”微信公眾號
最後更新:2017-05-24 18:02:11