本文由微信公眾號「科研圈」(ID: keyanquan) 授權轉載
轉載請先聯繫keyanquan@huanqiukexue.com
圖片來源:Pixabay
來源 PLoS One
作者 Nicolas P. Rougier, Michael Droettboom, Philip E. Bourne
翻譯 LYM
審校 戚譯引
科學可視化通常被定義為以圖片方式顯示科學數據的過程,然而這個過程並不是直接或者是自動的。相同的數據可以採取很多不同的方法來展現,比如散點圖、線形圖、條形圖和餅狀圖。此外,同樣的數據使用相同類型的圖來表示,在不同的人看來效果是非常不同的。對於科學可視化更準確的定義,是人與數據之間的圖形交互界面。在這篇短文中,我們不會解釋關於這個交互界面的所有內容,相關的介紹性工作請參見文獻 [1]、[2]。我們的目標是提供一套改進圖片設計的基本規則,並解釋一些常見的誤區。
1. 了解你的受眾
根據上述對科學可視化的定義,當視覺信息的接收方與內容傳遞一方的意圖有顯著差異時,問題就產生了。因此,在設計過程中儘早地確認圖像的受眾和信息是很重要的。視覺上的圖形設計應該以此為依據。
如果你正在為自己和直接合作者製作一張圖片,那麼你可以跳過設計過程中的許多步驟,因為每個人都知道圖片是關於什麼的。然而,如果你打算在科學期刊上發表一張圖片,那麼你應該確保圖片內容是正確的,並且把所有相關的信息傳達給更廣泛的讀者。學生讀者需要特別加以關注,因為在這種情況下,你的目標是解釋一個概念。此時你可能需要添加額外的信息,以確保他們可以完全理解這個概念。最後,公眾可能是更難理解圖片內容的讀者了,你需要設計一張簡單的圖片,可能只能表達近似的意義,只展示你研究中最突出的部分(圖 1)。事實證明,這是一個困難的練習(詳見參考文獻 [3])。
圖 1:https://doi.org/10.1371/journal.pcbi.1003833.g001
這張圖片根據 2007 年在《紐約時報》(New York Times)上發布的一張圖片重新製作。新圖片使用了近似數據,用 matplotlib 繪製。數據由四個類別(男性死亡/病例,女性死亡/病例)組成並可以使用經典的雙欄(死亡/病例)條形圖表示。這裡使用的布局比原圖片更適合目標受眾。這裡他們利用了這樣一個事實,即新的病例數總是大於相應的死亡人數,所以可以將兩組數據對應的圖像重疊起來。此外,他們還利用了閱讀方向上的優勢(《紐約時報》使用英語,閱讀方向是從左到右),以便於男女之間的比較,同時圖片中間的標籤醒目展示了圖片上的主要信息,即不同的癌症。
這張圖片包含了理解它所需要的全部內容,清楚地傳達了關於癌症死亡數量的信息。然而圖片並不準確,圖片所選擇的布局使得讀者實際上很難估計腎癌的死亡人數,因為它被標示在圖片底部,而刻度標示在圖片頂部。雖然這對於面向公眾的出版物是可接受的,但如果在文章的其他地方沒有給出實際數值,那麼這在科學出版物中是不能接受的。
2. 明確圖片要傳達的信息
無論是在一篇文章還是一個時間有限的口頭報告中,如果一個事實或者結論很難或不可能用簡短的文字來表達,那麼圖片就派上了用場。在這種情況下,很重要的一點是要清楚地意識到圖片所扮演的角色——圖片隱含了怎樣的信息,以及如何最好地呈現該信息。一旦明確了這點,這個信息將成為圖片設計的有力指南,如圖 2 所示。只有在明確了圖片需要傳達的信息後,才值得花時間改進你的圖片,就像你在寫文章時只有明確了要點之後才能遣詞造句一樣。如果你的圖片能夠讓人一眼就能看到重要的信息,那麼你的文章就有可能吸引更多的關注。
圖 2:https://doi.org/10.1371/journal.pcbi.1003833.g002
上丘(superior colliculus, SC)是位於多功能通路交叉點的腦幹結構。有神經生理學研究表明,上丘中的活躍神經元群將視覺目標的位置編碼,從而誘發眼球運動。從視網膜表面(左側)到瞳孔表面(右側)的投影基於一個標準的定量模型,其中一個對數映射函數描述了從視網膜坐標到瞳孔坐標的投影關係。這種對數映射在眼跳(saccade)的決策中起著重要作用。為了更好地說明這個作用,研究人員使用了人工棋盤圖案,即使在實驗中沒有使用這種圖案。這個棋盤圖案清楚地顯示了中央凹注視區域的極端放大,這就是圖形的主要信息。
3. 使圖片適應支持媒介
圖片可以在各種媒體上展示,例如海報、計算機顯示器、投影屏幕(如做口頭報告時)或簡單的紙張(如印刷品中)。每一種媒介都要求圖片有不同的物理尺寸,而且更重要的是,每一種媒介都暗示著觀看者和與圖片交互的不同方式。例如,在做口頭報告的時候,圖片展示的時間比較有限。因此,觀眾必須快速理解圖片內容及其含義,同時還要傾聽你的解釋。在這種情況下,圖片必須保持簡單,必須在視覺上突出信息,以便引起注意,如圖 3 所示。同樣重要的是,在口頭報告中,圖片將被視頻投影並從遠處看到,因此圖片中的元素必須加粗(線條)或放大(點、文本),顏色應具有強烈的對比度,並且應避免垂直文本等。
而對於期刊文章,情況就截然不同,因為讀者想看多久就能看多久,直到看懂圖片為止。這意味著你可以在圖片中添加很多細節,並且在圖註裡進行補充解釋。考慮到現在越來越多的人在電腦屏幕上閱讀文章,他們也有可能放大和拖動這個圖片。
在理想情況下,每種類型的支持媒介都需要一張不同的圖片。可千萬別可從論文裡複製一張圖片到處貼,比如貼到口頭報告的 PPT 裡。
圖 3:https://doi.org/10.1371/journal.pcbi.1003833.g003
這兩幅圖片代表了對雙粒子系統軌跡的相同模擬,其中兩顆粒子之間存在相互作用:
系統可能以三種不同的狀態結束,取決於不同的初始條件。左圖是為期刊文章準備的,讀者可以自由查看每個細節。紅色一直用於表示初始條件(放大區域中的紅點)和軌跡(紅線)。為了突出軌跡重疊的區域(高色密度),增加了線條透明度。右圖是口頭報告準備的圖片,因為圖片的展示時間有限,觀眾無法仔細查看每一個圖片細節,所以許多細節已被刪除(軌跡數量減少,沒有重疊的軌跡,刻度數減少,軸線加粗,刻度標籤減少,沒有標題,線條加粗)。此外,由於圖片將在口頭報告期間介紹,因此圖片的一些部分已被修改,使它們更容易被口頭描述(例如黃色框和紅色虛線)。
4. 圖注是必要的
無論是描述一個實驗設置,引入一個新的模型,還是展示新的結果,你都不能解釋圖片本身中的所有內容——圖片應該帶有圖注。圖註解釋了如何閱讀圖片,並為無法用圖片表示的內容提供額外的準確信息。你可以認為它是你在口頭陳述或活動海報前給出的解釋,只是你必須提前考慮人們會問的問題。
例如,如果你有一張條形圖,不要期望讀者僅僅通過查看和測量圖上的相對高度來猜測不同條形圖的值。如果數值很重要,那麼它們必須在文章的其他地方提供,或者在圖上寫得非常清楚。同樣,如果圖片中有一個令人感興趣的點(關鍵域、特定點等),確保它在視覺上是清晰的,而且不要猶豫,在圖注中再次指出。
5. 不要相信默認設置
所有的繪圖庫或者軟體都帶有默認設置。當用戶沒有指定任何設置時,這些默認設置就決定了圖片的尺寸、字體、顏色、樣式、刻度、標記等(圖 4)。幾乎所有的設置都是可以調整的,不過你通常可以一眼認出不同軟體包(比如Matlab,Excel,Keynote 等)或者庫(LaTeX,matplotlib,gnuplot 等)的特殊樣式,這要歸功於這些默認設置的選擇。由於這些設置幾乎可用於任何類型的繪圖,因此它們並沒有針對特定類型的繪圖進行微調。換句話說,這些工具能畫出任何類型的「足夠好」的圖片,但它們畫出的圖都不是最好的。
無論是為了讓一張精確的圖片更容易被廣大讀者看懂,還是為了根據數據本身性質來選擇最佳的顏色圖,所有圖片都需要對不同設置進行一些手動調整,以便更好地表達信息。圖 4 就展示了如何對一張使用 matplotlib 默認設置的圖片進行調整,呈現更好的視覺效果。
圖 4:https://doi.org/10.1371/journal.pcbi.1003833.g004
左圖為採用 matplotlib 默認設置繪製的正弦和餘弦函數圖像。雖然圖片足夠清晰,但是你還可以通過調整各種設置來進行改進,如右圖所示。
6. 有效地使用顏色
顏色是人類視覺的一個重要維度,因此在科學圖片的設計中也同樣重要。然而,正如 Edward Tufte 所言,顏色可能是你最好的盟友,但如果使用不當也會變成你最大的敵人[1] 。如果你決定使用顏色,你應該考慮使用哪種顏色,以及在哪裡使用它。例如,要想突出顯示圖片中的某些元素,你可以對該元素使用顏色,同時保持其他元素為灰色或黑色,這提供了增強效果。然而,如果你沒有這樣的需要,那就該問問自己:「這張圖表是藍色而不是黑色,這樣做有什麼理由嗎?「如果你不知道答案,那麼就讓它保持黑色。對於彩色圖片也是如此。不要使用默認的色圖設置(例如墨黑色或彩虹色),除非有明確的理由這樣做(參見圖 5 和文獻 [5])。
圖 5:https://doi.org/10.1371/journal.pcbi.1003833.g005
這幅圖使用三種不同的顏色設置表現了相同的信號,其中頻率從左向右逐漸增加,強度從上到下逐漸增強。彩虹色圖(rainbow colormap,定性)和地震色圖(seismic colormap,發散)都不適合展示這樣的信號,因為它們會隱藏高頻區域(右下角)的細節信息。如果使用連續色圖,比如最右紫色的色圖,我們就更容易看到高頻區域的細節。圖片改編自文獻 [5]。
色圖傳統上分為三大類:
漸變(sequential):使用單一顏色的變化展示從低到高的定量數據;分裂(diverging):從一種顏色到另一種顏色的變化,用於突出顯示與中位數的偏差;定性(qualitative):顏色的快速變化,主要用於離散或分類數據。
使用和你的數據最相關的色圖。最後,避免使用過多相似的顏色,因為色盲人士可能在辨認某些顏色方面存在困難(詳細解釋見參考文獻 [6])。
7. 不要誤導讀者
科學圖片與其它圖片藝術品的區別在於數據的體現,數據需要儘可能客觀地展示出來。根據定義,科學圖片與數據(無論是實驗設置、模型還是某些結果)相關聯,如果你忽略了這種聯繫,可能會無意中表達出與預期不同的信息。
客觀地表示結果並不簡單。例如,你所使用的庫或軟體所做的一些隱式選擇在大多數情況下都是準確的,但在某些情況下也可能誤導讀者。如果軟體自動對數值進行縮放處理,你可能會獲得數據的客觀表示(因為標題、標籤和刻度清楚地表明實際顯示的內容),但是這些數據在視覺上具有誤導性(請參見圖 6 中的條形圖);你無意中誤導了你的讀者,使他們在視覺上相信你的數據中不存在的東西。
你還可能在設計上做出明確的錯誤選擇,例如使用餅狀圖或三維圖表來比較數量。這兩種形式的圖片會導致對數量的錯誤感知,你需要具備一些專業知識才能正確使用它們。根據經驗,請務必始終使用最簡單的繪圖類型來傳達你的信息,並確保使用相關的標籤、刻度、標題和完整的數值範圍。最後,不要猶豫,多多詢問同事們如何理解你的圖片吧。
圖 6:https://doi.org/10.1371/journal.pcbi.1003833.g006
在圖的左側,我們展示了四個值:30、20、15、10。在左上角,我們使用圓盤面積來表示數值,而左下方圖片使用圓盤半徑來表示。結果在視覺上非常不同。在後一種情況下(紅色圓盤),最後一個值(10)與第一個值(30)相比顯得非常小,然而這兩個值之間的比率僅為 3∶1。這種情況在文獻中實際上非常常見,因為用於生成圓或散點圖(具有不同大小的點)的命令(或界面)使用半徑作為默認值來指定圓盤大小。因此,使用半徑長度表示一個數值看起來是合乎邏輯的,但這會產生誤導。
在圖的右側,我們採用不同方法顯示一個集合中的 10 個數值,對於頂部數值我們使用坐標的全範圍(y 軸從 0 到 100),底部數值使用坐標的部分範圍(y 軸從 80 到 100),並且我們沒有明確地標記 y 軸,以增強混淆。這兩組圖形的視覺感受完全不同。對於右上方(黑色柱狀圖),我們傾向於將數值解釋為非常相似的值;而在右下方,我們傾向於認為數值之間存在顯著差異。即使我們使用標籤來指明數值的實際範圍,圖片依舊會造成這樣的效果,因為條形的長度就是圖片中最顯著的信息。
8. 避免「圖表垃圾」
圖表垃圾(chartjunk)指圖片中所有不必要或混亂的視覺元素,這些元素不會改善信息的表示(在最好情況下),還可能增加混淆(在最壞情況下)。圖表垃圾可能包括使用過多的顏色、過多的標籤、毫無意義的彩色背景、無用的網格線等(參見圖 7 的左側部分)。Edward Tufte 在文獻 [1] 中首次創造了這個術語,他認為任何不能為讀者提供新信息的裝飾都應該被禁止:「不管原因是什麼,那些裝飾中要麼沒有數據,要麼包含冗餘數據,而且通常是圖表垃圾。」因此,為了避免產生圖表垃圾,努力節約一點墨水,或者在計算機時代節約一點電力吧。在文獻 [7] 中,Stephen Few 提醒我們在理想的情況下,圖片應該「表示所有需要被查看和理解其意義的數據」。
不過,在一張圖片中被視為圖表垃圾的元素在另一張圖片中可能是合理的。例如,在常規繪圖中使用背景色通常是一個壞主意,因為它不會帶來有用的信息;然而在圖 7 的右側,如標題中所述我們使用灰色背景框來表示 [1,+1] 的研究範圍。如果你有疑問,可以參考 Kaiser Fung 的博客 [8],上面有許多案例分析,清楚地解釋了圖表垃圾的概念。
圖 7:https://doi.org/10.1371/journal.pcbi.1003833.g007
我們有同等重要的七個樣本,為了直觀地比較它們,我們想把它們全部展示出來(確切的信號值應該在別處給出)。左圖展示了什麼是最糟糕的設計:所有的曲線互相重疊,不同的顏色(軟體自動作出了糟糕的選擇)對區分它們並沒有幫助。圖例框蓋住了部分圖形,因此無法檢查重疊區域中是否有任何有用的信息。此外還有很多問題:x 軸的坐標相互重疊,難以閱讀,而且到小數點後三位的精確度似乎也不攜帶任何重要的信息。最後,圖片中的網格並沒有幫助,因為它沒有與信號對齊,考慮到採樣點的數量很少,可以認為數據是離散的。
而右圖在同樣面積的紙張上採用了完全不同的布局。這一系列數據被分為七個小圖表,每一個表示一類數據,而其他數據組則利用淡色繪製於主要數據後面。數據的標籤被放置在數據的左側,這樣避免了使用顏色和圖例框。x 軸的坐標數值減少到 3 個,並用細線在所有的圖表中表示出這三個數值。最後,y 軸的刻度被完全去除,並利用灰色背景框的高度表示 [-1, +1] 的數據範圍(這點也要在圖片標題中說明,就像圖片要被用在文章裡那樣)。
9. 信息重於顏值
在製作圖片方面,每個科學領域都有自己的一套最佳實踐方法。了解這些標準很重要,因為它們有助於將模型、研究或實驗進行更直接的比較。更重要的是,它們可以幫助你在結果中發現明顯的錯誤。不過,大多數時候你可能需要設計一張全新的圖片,因為在描述研究結果這方面並沒有標準的方法。在這種情況下,瀏覽科學文獻是一個很好的起點。如果某篇文章展示了一張驚人的圖片,介紹與你的結果相似的信息,你可以參考它對自己的圖片進行調整(請注意,我們沒有說「複製」,請尊重圖片版權)。
如果你轉向網絡,你必須非常小心,因為數據可視化、信息圖形、設計和藝術之間的界限正在變得越來越模糊 [9]。網上存在著無數的圖片,其中美學是第一標準,內容是第二標準。即使這些圖片中有很多可能大家認為是美觀的,它們中的大多數都不符合科學框架。記住,在科學中,圖片的信息和可讀性是最重要的方面,而美觀只是一個選項,如圖 8 所示。
圖 8:https://doi.org/10.1371/journal.pcbi.1003833.g008
這張圖片是一個極端的案例,在這種情況下,即使圖片的美感值得懷疑,其中的信息仍然非常清晰。恐怖谷理論是機器人技術領域的一個眾所周知的假設,它將我們的舒適度與機器人與人類的相似程度聯繫起來。為了表示這個理論假設,研究人員使用了一個假設的數據來描述:
圖片採用了一種手繪風格(類似對 matplotlib 的圖片使用 xkcd 「濾鏡」),並配合卡通字體,以增強整體效果。橫坐標也被移除,因為整體曲線的形狀才是最重要的信息。使用手繪風格能向讀者傳達出這樣的信息:圖中數據僅為近似值,並且重要的是更高層次的整體概念,而不是低層次的細節。
10. 使用正確的工具
在繪製圖片時,有許多工具可以讓你更輕鬆,並且了解其中的一些可以為你節省大量時間。針對每個不同的圖片類型,通常有一個專用工具可以完成你想要實現的目標。而至關重要的是,要了解你用於製作可視化圖片的工具(軟體或庫)可能與你用於研究和/或分析數據的工具不同。你可以導出繪圖工具中的數據,以便在其他工具中使用它。無論是繪製圖表、設計實驗示意圖還是用數據作圖,都有適合你的開源工具。它們只是等待著被發現和使用。下面是一小部分開源工具的介紹。
Matplotlib是一個 python 繪圖庫,主要用於二維作圖,但也支持一些三維作圖,可以生成具有出版級品質的各種可拷貝格式和跨平臺交互式環境的圖片。 它還附帶了一個大型圖庫,涵蓋幾乎所有科學領域:http://matplotlib.org/gallery.html
R 語言是關於統計計算和圖形的語言環境。R 語言提供各種統計功能(線性和非線性建模,經典統計測試,時間序列分析,分類,聚類等)和圖形技術,並且具有高度可擴展性。
Inkscape 是一個專業的矢量圖片編輯器。它允許設計複雜的圖形,例如它可以用於改進腳本生成的圖片或讀取 PDF 文件,以便讓你用各種方式提取圖形和進行轉換。
TikZ 和 PGF是用於以編程方式創建圖形的 TeX 包。 TikZ 建立在 PGF 之上,允許你以相當直觀和簡單的方式創建複雜的圖形,如 Tikz 圖庫所示:http://www.texample.net/tikz/examples/all/
GIMP 是 GNU 圖像處理程序。它適用於照片修飾、圖像合成和圖像創作等任務。如果需要快速修飾圖像或添加一些圖例、標籤,GIMP 就是完美的工具。
ImageMagick 是一個軟體套件,用於從命令行創建,編輯,編寫或轉換位圖圖像。 它可用於快速將圖像轉換為另一種格式,Fred Weinhaus 的巨大腳本庫還將提供你要實現的幾乎任何效果:http://www.fmwconcepts.com/imagemagick/index.php
D3.js 簡稱 D3,即數據驅動文檔(Data-Driven Documents)。這是一個 JavaScript 庫,它提供了一種簡單的方法來創建和控制在 Web 瀏覽器中運行的基於數據的交互式圖形表單:http://github.com/mbostock/d3/wiki/Gallery
Cytoscape 是一個軟體平臺,用於可視化複雜網絡,並將其與任何類型的屬性數據(attribute data)進行整合。如果你的數據或結果非常複雜,Cytoscape 可能會幫助你減輕這種複雜性。
Circos 最初的設計方向是用於可視化基因組數據,但它也可以根據任何領域的數據創建圖片。如果你的數據在一個或多個尺度上描述了描述一個或多個比例的關係或多層注釋的數據,那麼 Circos 就非常有用。
註:文章中的所有圖片均由 matplotlib 繪製而成,圖片腳本可在https://github.com/rougier/ten-rules 獲得。
參考文獻
1. Tufte EG (1983) The Visual Display of Quantitative Information. Cheshire, Connecticut: Graphics Press.
2. Doumont JL (2009) Trees, maps, and theorems. Brussels: Principiae.
3. Kosara R, Mackinlay J (2013) Storytelling: The next step for visualization. IEEE Comput 46: 44–50. 文章連結
4. Rougier NP (2012) Scientific visualization and matplotlib tutorial. Euroscipy 2012 & 2013. Available: http://www.loria.fr/~rougier/teaching/matplotlib/matplotlib.html. Accessed 12 August 2014.
5.Borland D, Taylor RM (2007) Rainbow color map (still) considered harmful. IEEE Comput Graph Appl 27: 14–17. 文章連結
6. Okabe M, Ito K (2008). Color universal design (cud) - how to make figures and presentations that are friendly to colorblind people. Available: http://jfly.iam.u-tokyo.ac.jp/color/. Accessed 12 August 2014.
7. Few S (2011) The chartjunk debate, a close examination of recent findings. Visual Business Intelligence Newsletter. Available: http://www.perceptualedge.com/articles/visual_business_intelligence/the_chartjunk_debate.pdf. Accessed 12 August 2014.
8. Fung K (2005). Junk charts: Recycling chartjunk as junk art. Available: http://junkcharts.typepad.com. Accessed 12 August 2014.
9. Borkin MA, Vo AA, Bylinskii Z, Isola P, Sunkavalli S, et al. (2013) What makes a visualization memorable? IEEE Trans Vis Comput Graph 19: 2306–2315. 文章連結
10. Schumann J, Strothotte T, Raab A, Laser S (1996) Assessing the effect of non-photorealistic rendered images in cad. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems; 13–18 April 1996; New York, New York, United States. CHI 96. New York: Association for Computing Machinery. pp.35–41.
原標題:科研作圖十條秘籍,靈魂畫手也能掌握
本文由微信公眾號「科研圈」(ID: keyanquan) 授權轉載
轉載請先聯繫keyanquan@huanqiukexue.com
編輯:Cloudiiink