數(shù)據(jù)可視化的道路上充滿了不可見的陷阱和迷宮,最近ClearStory Data的兩位數(shù)據(jù)可視化開發(fā)人員分享了他們總結(jié)出來的數(shù)據(jù)可視化開發(fā)的7個不宣之秘,普通開發(fā)者了解這些方法能提升視野,少走彎路。 
數(shù)據(jù)可視化,特別是基于Web的數(shù)據(jù)可視化的時代已經(jīng)到來了。類似JavaScript的可視化庫如D3.js, Raphal,以及Paper.js, 以及最新瀏覽器所支持的如Canvas和SVG,以及使得那些過去只能由計算機專家和專業(yè)設(shè)計人員開發(fā)的復(fù)雜的可視化變得越來越簡單了。 數(shù)據(jù)可視化如今成為了很多網(wǎng)站項目的必備功能。而類似于Platfora,Datameer, ClearStory Data以及Chartio等初創(chuàng)公司則可以利用基于瀏覽器的分析平臺融到數(shù)百萬美元的投資。 數(shù)據(jù)可視化是數(shù)據(jù)探索以及數(shù)據(jù)表現(xiàn)的重要方式,然而,對于數(shù)據(jù)可視化的開發(fā)者來說,依然有很多挑戰(zhàn)要去面對。這些迎接這些挑戰(zhàn)的方法,則是很多專業(yè)的數(shù)據(jù)可視化開發(fā)者不愿意讓別人知道的秘密。ClearStory Data的兩位數(shù)據(jù)可視化開發(fā)人員Nate Argrin和 Nick Rabinowitz分享了他們總結(jié)出來的數(shù)據(jù)可視化開發(fā)的7個秘密以及在實踐中如何應(yīng)對的方式。 
秘密一: 現(xiàn)實中的數(shù)據(jù)往往很丑 大部分的數(shù)據(jù)可視化的教程,都會讓你輕松地從一個原始數(shù)據(jù)集開始。無論你是學(xué)習(xí)基本的柱狀圖還是力導(dǎo)向的網(wǎng)絡(luò)圖, 你的數(shù)據(jù)都是干凈的,經(jīng)過整理的數(shù)據(jù)。這些完美的JSON或者CSV文件就像電視里的廚藝節(jié)目中的灶臺那樣干凈整潔。而實際上,當(dāng)你在處理現(xiàn)實中的真正的數(shù)據(jù)是,你80%的時間得用來搜尋,獲取,載入,清洗以及轉(zhuǎn)換你的數(shù)據(jù)。這樣的過程,有時候可以用自動化的工具來完成。不過,差不多任何需要針對兩個以上的數(shù)據(jù)集進行清洗的工作總會需要或多或少的人工的工作。有很多工具能夠把XLS文件轉(zhuǎn)化為XML的格式或者把時間戳轉(zhuǎn)換為其他日期格式。但是,要想把一個公司的內(nèi)部使用的銷售類型與競爭對手進行比對,或者對輸入錯誤進行檢查,或者對不同的Encoding或者OCR產(chǎn)生出來的文字進行檢查時,就只能靠手工來處理了。 工具及處理方式: 1)在數(shù)據(jù)可視化項目中給數(shù)據(jù)清洗留出足夠的時間,特別是在需要處理多個數(shù)據(jù)源,需要手工錄入或者OCR數(shù)據(jù),進行不同類別的配比,或者需要處理一些非標(biāo)準(zhǔn)格式時,需要留出更多的時間。 2)Google Refine是一個很好的數(shù)據(jù)清洗工具,盡管在有些地方,特別是處理非表格化數(shù)據(jù)時有些不足。此外,還有一些數(shù)據(jù)清洗專用的工具如Data Wranger 和 Mr. Data Converter。不過,很多的數(shù)據(jù)清洗工作仍然需要你熟悉腳本語言如Python或者需要你在Excel里進行一些手工工作。記得把你的腳本存檔,你以后肯定用得上。 3)用簡單的一些散點圖或者直方圖來發(fā)現(xiàn)一些超正常范圍的錯誤數(shù)據(jù)。 秘密二: 柱狀圖往往更好 
和柱狀圖比起來,氣泡圖可以在同樣的空間表現(xiàn)更多地數(shù)據(jù),餅圖可以更清晰地表現(xiàn)整體和局部的關(guān)系,樹狀圖能夠更好地表現(xiàn)分層的結(jié)構(gòu)。然而,這些圖在簡單明了方面都無法與柱狀圖相比。 在考慮數(shù)據(jù)可視化設(shè)計方案時,我們要問自己的第一個問題就是:“這個方案比柱狀圖好嗎?” 如果你需要在一個單一維度上可視化一個可量化的數(shù)據(jù)集,那么很少有別的方式能比得上柱狀圖。類似的,時間序列最好表現(xiàn)為線狀圖,而散點圖一般用來表現(xiàn)兩個線性度量的相關(guān)性。在數(shù)據(jù)可視化設(shè)計中,使用這些從18世紀以來就一直在使用的圖風(fēng)險最低。 而柱狀圖對于進行數(shù)據(jù)比較的可視化來說是最佳方式。因為我們?nèi)搜圩盍?xí)慣的比較方式就是將兩個東西并排比較。 關(guān)于柱狀圖優(yōu)先,其實揭示了數(shù)據(jù)可視化中一個最大的秘密,那就是,那些最酷的可視化往往用處反而最小。 最求新奇以及美觀的可視化往往帶來一個問題,那就是數(shù)據(jù)的可理解問題。很多柱狀圖的替代圖迫使人們用他們并不擅長的方式進行比較,如比較面積,角度,色彩,或者透明度等。這些比較,說好聽的,是增加了比較的難度,說的嚴重一些,可能會對數(shù)據(jù)進行扭曲,導(dǎo)致使用者得出錯誤的結(jié)論。 工具及處理方式: 1、不要輕易拋棄那些傳統(tǒng)的可視化方式,如果這些方式能夠表現(xiàn)你的數(shù)據(jù)。先試試柱狀圖或者線狀圖,如果你的數(shù)據(jù)真的需要其他的再考慮其他圖。 2、理解其他形式的圖的表現(xiàn)優(yōu)勢,比如,氣泡圖支持更多地數(shù)據(jù)范圍,餅圖支持局部全局的對比,樹狀圖能夠支持分層結(jié)構(gòu)等等。 3、柱狀圖是可視化最容易的圖形之一,你可以手工編寫一段HTML代碼,僅僅使用CSS或者很少量的JavaScript,或者從Excel里面的一個公式,就可以生成一個有效的柱狀圖來。 秘密三: 真實數(shù)據(jù)不可替代 對一個數(shù)據(jù)集進行清洗和格式化已經(jīng)很繁瑣了,如果你需要設(shè)計一個基于多個數(shù)據(jù)集的可視化呢? 比如你需要把公司不同部門的數(shù)據(jù)進行可視化,而這些部門各自有各自的數(shù)據(jù)庫,而且你也沒有時間手工把每個數(shù)據(jù)集進行清洗。這時候,人們的第一想法可能是抓一些Demo的數(shù)據(jù)來進行可視化。而且你的可視化庫里可能就有一些標(biāo)準(zhǔn)的樣本數(shù)據(jù)。 很不幸,真實數(shù)據(jù)不可替代。Demo數(shù)據(jù)一般遵循正態(tài)分布而且數(shù)據(jù)量有限。是為了展示可視化用的。而一個看上去完美的柱狀圖,并不能幫助你解決那些數(shù)據(jù)缺失,異常數(shù)據(jù)或者現(xiàn)實中的真實問題。如果你過度依賴Demo數(shù)據(jù),當(dāng)你用真實數(shù)據(jù)時,你就會發(fā)現(xiàn)你的數(shù)據(jù)可視化設(shè)計并不能真正滿足你的數(shù)據(jù)分析或者數(shù)據(jù)表現(xiàn)的需求。 工具及處理方式: 1、如果你無法訪問整個數(shù)據(jù)集,不妨先試試從真實數(shù)據(jù)集中隨機取些樣本數(shù)據(jù)。 2、保留無效或者缺失數(shù)據(jù),如果你的數(shù)據(jù)集在可視化前不準(zhǔn)備進行數(shù)據(jù)清洗,那么也不要清洗樣本數(shù)據(jù)。 3、真實數(shù)據(jù)集也許過大。在你使用樣本數(shù)據(jù)時,在生成最終的可視化圖前,等比例調(diào)整樣本數(shù)據(jù)規(guī)模。 秘密四:細節(jié)的地方才最頭痛 
如上圖,當(dāng)你水平排列數(shù)據(jù)標(biāo)識時,數(shù)據(jù)標(biāo)識會看不清,如果旋轉(zhuǎn)90度,數(shù)據(jù)標(biāo)識是看清楚了,不過又浪費了很大一塊空間。選擇一個合適的數(shù)據(jù)標(biāo)識格式對有些可視化來說是個解決方案,不過也不是對所有方案都適用。 設(shè)計數(shù)據(jù)標(biāo)識,注釋或者橫軸縱軸通常都是在初始可視化后才考慮的。不過這些元素對可視化來說非常重要,而且可能會很困難或者需要大量時間才能把它們做好。特別是在你無法事先預(yù)知你的數(shù)據(jù)的情況下。 在設(shè)計你的可視化的時候,你需要留出相當(dāng)部分的空間以便你可能需要添加標(biāo)識只用,通常要在你的圖周圍留出相對較大的空間。 橫縱軸上的標(biāo)識要保證它們不相互覆蓋而且可讀。如果必要的話,可以將標(biāo)識進行旋轉(zhuǎn)來增加可讀性。如果有一塊空間標(biāo)識過于集中,而你又需要這些標(biāo)識可讀,你可以讓考慮把標(biāo)識離它們所指的元素遠一些,然后用連接線把標(biāo)識和元素連起來。另外一種方式就是把標(biāo)識整合成一個組,用標(biāo)識工具提示的方式來進行可視化。如果標(biāo)識的文字過長,可以考慮進行縮寫或者把超出的文字剪掉等方式。 類似的,對圖的注釋也需要事先計劃好。最簡單的方式就是在可視化中保留一部分區(qū)域來方便添加注釋。不過,這樣意味著你的圖所占的部分就會減小。為了保留空間,把注釋放在圖上的空白部分;蛘甙炎⑨屪龀煽赏献,這樣用戶可以把注釋移開來看注釋遮蓋的部分。 工具及處理方式: 1)在設(shè)計時把數(shù)據(jù)標(biāo)識,數(shù)據(jù)軸及注釋的空間在圖上留好。 2)對數(shù)據(jù)標(biāo)識,定義最大字符數(shù),超出部分需要裁掉。把相近的標(biāo)識組合在一起,在用戶點到時再顯示。 3)對長注釋,可以考慮用滾動或者展開的方式 4)無論如何,不要忽視這些元素。數(shù)據(jù)標(biāo)識在你專注圖形設(shè)計的時候,可能不是你的最主要考慮,不過它們對可視化的用戶來說非常重要。 秘密五:需要的時候才用動畫 可視化的設(shè)計者經(jīng)常希望能夠在最終設(shè)計上加上動畫。動畫是一種連接數(shù)據(jù)和變化趨勢的非常有用的工具。 不過動畫也常常會導(dǎo)致對你的數(shù)據(jù)的錯誤理解。你需要對它會如何影響你的最終效果進行評估,而不是簡單地在最后加上動畫效果。動畫最適合表現(xiàn)的,是揭示數(shù)據(jù)如何在不同狀態(tài)下組合在一起,如何隨時間變化或者是如何相互影響的等場合。 一般的設(shè)計原則是,動畫要簡單,可預(yù)測并且可以重新播放。讓用戶能夠多次播放動畫,可以讓他們看到動畫元素從哪里開始到哪里停止。 要避免不同元素在移動中互相覆蓋,不要讓元素的運動不可預(yù)測。對于復(fù)雜的動畫,研究表明,可以把動畫分解為幾個不同的階段,在每個階段暫停一會給用戶一些時間來體會。這樣有助于提高用戶的理解。 工具及處理方式: 1、盡可能讓動畫簡單 2、如果動畫復(fù)雜或者有很多動畫元素,可以考慮分階段動畫 3、一開始動畫往往能夠給人新鮮感,不過會很快讓用戶感到厭倦。不要僅僅因為你會加動畫就在你的可視化你加上動畫。 秘密六: 數(shù)據(jù)可視化不是分析 數(shù)據(jù)可視化可以產(chǎn)生一些分析結(jié)果,不過需要指出的是,可視化是一個輔助分析的工具,而不是數(shù)據(jù)分析的替代,它也不是統(tǒng)計的替代: 你的圖形可能揭示了一些數(shù)據(jù)差異或者數(shù)據(jù)的相關(guān)性。不過,要得出存在這些差異和相關(guān)性的可靠結(jié)論,還需要運用統(tǒng)計的方法。要對你的數(shù)據(jù)真正了解,需要分析的技能,以及專業(yè)的知識。不要指望可視化能夠給你這些。因此,在進行可視化項目的時候,要調(diào)整客戶或者你的CEO的期望值。 工具及處理方式: 1、除非你就是數(shù)據(jù)分析師,你對數(shù)據(jù)可視化得出的結(jié)論不要輕易下判斷。如果需要進行結(jié)論,最好找一個統(tǒng)計師或者專業(yè)人士一起驗證后再給結(jié)論。 2、一些細小的設(shè)計改變,比如調(diào)色板的變化,對某個變量的可視化方式等,都可能改變可視化得出的結(jié)論。如果你用可視化進行分析,一定要試試多種可視化方式,而不要依賴于一種方式。 3、Stephen Few的 書“Now You See It”里面介紹了利用可視化進行商業(yè)分析的方式,包括對開發(fā)者如何設(shè)計可供分析使用的可視化工具的一些建議,讀者可以參考。 秘密七: 數(shù)據(jù)可視化不僅僅是編程 現(xiàn)在大量的可視化編程庫和教程使得普通的人員在進行基于Web的可視化中,也可以設(shè)計出高質(zhì)量的可視化產(chǎn)品。然而,要想真正設(shè)計一個能夠提供深入見解,或者能夠清楚表達的可視化產(chǎn)品,除了編程之外,還需要很多其他的技能。比如圖像設(shè)計,數(shù)據(jù)分析,交互設(shè)計,以及對人們認知的了解等待。這些技能,是那些可視化編程庫提供不了的。不過,好消息是,如果你堅持采用一些數(shù)據(jù)可視化的基本原則的話。 你也不需要對這些技能了解太多。對于初學(xué)者來說,需要堅持一些最基本的原則,比如,盡量使用柱狀圖,不要把圓半徑設(shè)置按線性比例設(shè)定(編者:在面積比較時會給用戶錯誤理解),設(shè)計要簡單(不要用3D,少用動畫,不要用陰影)等。 按照一些好的可視化樣本,初學(xué)者也可以創(chuàng)造出好的可視化作品來。
(責(zé)任編輯:建筑小白) |