官术网_书友最值得收藏!

1.2 你為什么要選擇R

“工欲善其事,必先利其器”,學術繪圖軟件的選擇與使用特別重要。不同學科的研究人員使用的軟件有所不同,但是基礎的繪圖思想與理念是相通的(這部分會在后面的章節講解)。具有工科背景的人員常使用MATLAB,具有計算機背景的人員常使用Python,具有統計學科背景的人員常使用R,具有醫學背景的人員常使用GraphPad Prism等。常用的學術圖表繪制軟件包括Excel、Origin、SigmPlot、GraphPad Prism、MATLAB、Python、R等,如圖1-2-1所示。每個繪圖軟件的圖表都有不同的圖表風格。

圖1-2-1 繪圖軟件的標簽云

筆者列出了常用的7款學術圖表繪圖軟件,如表1-2-1所示。從技能要求的角度主要可以分為兩大類:編程與界面操作。

表1-2-1 常用繪圖軟件的性能對比

像Excel、Origin、SigmaPlot、GraphPad Prism這4款軟件,就不需要編程,只要點擊界面按鈕就可以繪制圖表。盡管這些工具都非常容易使用,但也存在一些缺憾。只需鼠標操作無疑十分便捷,但隨之而來的卻是喪失一些靈活性。你可以改變顏色、字體和標題,但僅限于軟件所提供的那些元素。這些軟件只能由你去適應它的操作規則,讓你使用現有的圖表,而并不能創造新的圖表。

像MATLAB、Python和R這3款軟件,則需要編程才能實現圖表的繪制。這些軟件本身包含很多數據可視化的函數(function)或者包(package),供用戶繪圖時使用。尤其針對不同的數據集需要重復操作的情況,如果使用界面繪圖軟件,則可能需要從頭到尾將繪圖流程重新實現一遍,而相比之下,通過代碼來處理數據就會更加容易,因為針對不同的數據集只需稍微改動一下代碼就可以解決。如果你充分掌握代碼與算法,那你也可以自己編寫函數設計新穎的圖表。

1.R

相較于其他的所有軟件,R的優勢之一在于,它是專為數據分析而設計的,它是主要用于統計分析、繪圖的語言和操作環境。R是屬于GNU系統的一個自由、免費、源代碼開放的軟件,它是一個用于統計計算和統計制圖的優秀工具。R語言有一系列的數據可視化包,包括ggplot2ggplot2包的官網:http://docs.ggplot2.org/current及ggplot2拓展包ggplot2 extensions拓展包的官網:http://www.ggplot2-exts.org/index.html、lattice、leaflet、playwith、ggvis、ggmaps。

R還提供了部分地圖繪制功能,地區數據分析http://cran.r-project.org/web/views/Spatial.html提供了有關地區分析的綜合性R工具包列表。另外,用戶可以下載《地理統計制圖實用指南》http://spatial-analyst.net/book/download——關于如何使用R及其他工具分析空間數據的可免費下載的電子書。

2.Python

Python是一種面向對象的解釋型計算機程序設計語言。Python具有豐富和強大的庫。它常被昵稱為“膠水語言”,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起。程序員們戲稱“人生苦短,要學Python”,現在Python越來越流行,尤其應用在機器學習、機器視覺、深度學習、網絡爬蟲等方面。Python語言也有一系列的數據可視化包,包括Pandas、PlotninePlotnine包的官網:https://plotnine.readthedocs.io/en/stable、matplotlib、SeabornSeaborn包的官網:https://seaborn.pydata.org/、ggplot、Bokeh、Pygal等Python語言的數據可視化包:http://pbpython.com/visualization-tools-1.html。其中Plotnine包是參考R ggplot2圖形語法實現的可視化包。雖然Python越來越流行,但是在數據可視化方面與R還是有很大差距的。

3.MATLAB

MATLAB是美國MathWorks公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析,以及數值計算的高級技術計算語言和交互式環境。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通信、圖像處理、信號檢測、金融建模設計與分析等領域。MATLAB軟件本身就提供了很多繪圖函數,可以滿足數據可視化的基本需求MATLAB軟件數據可視化庫:https://cn.mathworks.com/products/matlab/plot-gallery.html。但是還有另外兩款MATLAB繪圖包很值得推薦使用:PlotPubPlotPub包的官網:https://github.com/masumhabib/PlotPub和GrammGramm包的官網:https://github.com/piermorel/gramm,其中,Gramm包是在MATLAB中實現了R ggplot2的繪圖風格,大大提高了MATLAB繪圖的美觀程度。

4.SigmaPlot

SigmaPlot是一款最佳的科學繪圖軟件!使用SigmaPlot畫出精密的圖形是件極容易的事,目前已有超過十萬的使用者,特別適合科學家使用。本軟件允許用戶自行建立任何所需的圖形,可插入多條水平軸或垂直軸,指定誤差棒(error bar)的方向,讓你的圖更光彩耀眼,只要用SigmaPlot將圖制作完成即可動態連接給其他軟件展示使用,并可輸出成EPS、TIFF、JPEG等圖形格式,或放置于網站上以供瀏覽。非常適合網站動態顯示圖形,使用場合如長時間記錄的氣象、溫度等。

5.Origin

Origin為OriginLab公司出品的較流行的專業函數繪圖軟件,是公認的簡單易學、操作靈活、功能強大的軟件,既可以滿足一般用戶的制圖需要,也可以滿足高級用戶數據分析、函數擬合的需要。Origin自1991年問世以來,由于其操作簡便、功能開放,很快就成為國際流行的分析軟件之一,是公認的快速、靈活、易學的制圖軟件。Origin 2017版本增加了許多顏色主題方案,可以大大改進圖表的美觀程度。

6.GraphPad Prism

GraphPad Prism是一款集數據分析和作圖為一體的數據處理軟件,尤其適合生物醫學類,可以直接輸入原始數據獲得高質量的科學圖表。它在統計分析上劣于SPSS等統計軟件,但是不需要輸入程序語言,只需輸入原始數據,其操作容易、繪圖美觀。可與PPT、Word相連接。

7.Excel

幾乎所有人都知道這款軟件。Microsoft Excel是微軟公司的辦公軟件Microsoft Office的組件之一,是由Microsoft為Windows和Apple Macintosh操作系統的電腦而編寫和運行的一款電子表格軟件。Excel是微軟辦公套裝軟件的一個重要組成部分,它可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用于管理、統計財經、金融等眾多領域。Excel能實現大部分二維圖表的繪制與基礎的數據處理與分析,具體可以參考學習《Excel數據之美:科學圖表與商業圖表的繪制》。

實例分析為更好地了解這7款繪圖軟件的風格,現采用相同的數據集合,分別繪制了散點圖、曲線圖、(堆積)柱形圖和箱形圖4種圖表類型,如圖1-2-2到圖1-2-8所示。

圖1-2-2 R ggplot2 圖表實例

圖1-2-8 Excel圖表實例

(1)圖1-2-2由R ggplot2繪制,其圖表風格最為獨特與美觀,這種圖表在部分論文中也是有直接使用的。使用R ggplot2 Set3的顏色主題,繪圖區背景填充顏色為RGB(229, 229, 229)的灰色,以及白色的網格線[主要網格線的顏色為RGB(255, 255, 255),次要網格線的顏色為RGB(242, 242, 242)]。

(2)圖1-2-3由Python Seaborn繪制,其圖表風格也很有特色,使用Seaborn包的顏色主題方案,繪圖區背景填充顏色為RGB(234,234,242)的淡藍色,以及RGB(255,255,255)的白色的主要網格線(無次要網格線)。

圖1-2-3 Python Seaborn圖表實例

(3)圖1-2-4是使用MATLAB 2014b通過編程繪制的圖表,使用MATLAB默認的顏色主題方案Parula,網格線設定為“無”。MATLAB通過函數(function)直接繪制的圖表,可以通過圖表編輯器對圖表進行優化,但是也并不能實現箱形圖顏色的填充。如果MATLAB使用Gramm包,則可以繪制更加美觀的圖表。

圖1-2-4 MATLAB圖表實例

(4)圖1-2-5到圖1-2-7分別對應SigmaPlot、Origin和GraphPad Prism繪制的圖表,這是最為常見的學術圖表。它們的圖表風格基本相同:繪圖區背景填充顏色為RGB(255,255,255)的白色,這樣可以使背景不太復雜,尤其適應于圖表尺寸較小時,可以保證數據的清晰展示;這些圖表使用繪圖軟件的默認顏色主題,由于不同軟件的顏色主題不同,即便是相同的圖表樣式,也會導致圖表的美觀存在較大的審美差異。

圖1-2-5 SigmaPlot圖表實例

圖1-2-6 Origin圖表實例

圖1-2-7 GraphPad Prism圖表實例

(5)圖1-2-8是使用Excel繪制的圖表,使用Excel默認顏色主題方案“Office 2007-2010”。Excel 2016添加了幾種新型圖表類型,包括矩形樹狀圖、箱形圖等;Excel 2013及以前版本只能通過堆積柱形圖間接地實現箱形圖。

在這么多種繪圖軟件中,我們為什么要選擇R呢?首先因為R是開源的,可以免費使用。其次,R是一套完整的數據處理、計算和制圖軟件系統。其功能包括:數據存儲和處理系統、數組運算工具、完整連貫的統計分析工具、優秀的統計制圖功能。尤其是R的ggplot2包及其拓展包以人性化的圖形語法,可以快速幫助用戶展示數據,并可以實現個性化的圖表。另外,R還有很多其他繪圖包,比如可以繪制三維圖表的plot3D包等,幾乎可以幫助用戶繪制所有常見的圖表類型。

但是,繪圖軟件只是使用的一個工具而已更多繪圖工具可參考:https://keshif.me/demo/VisTools。歸根結底,對數據的分析和圖表的設計取決于你自己。如果你打算深入研究數據,而且日后可能(或者希望日后)還會接觸大量與數據相關的項目,那么現在花些時間學習編程最終會節省其他項目的時間,并且作品也會給人留下更加深刻的印象。你的編程技巧會在每一次項目中獲得提高,你會發現編程越來越容易。

心中有劍,落葉飛花,皆是兵器!

主站蜘蛛池模板: 台安县| 砚山县| 瓮安县| 大名县| 巴塘县| 新巴尔虎右旗| 平安县| 绥芬河市| 金秀| 邵东县| 宜兰县| 石狮市| 会同县| 和田市| 仙居县| 竹山县| 岑巩县| 正定县| 南丰县| 莱州市| 潢川县| 海阳市| 兰考县| 安化县| 丹棱县| 西乡县| 日土县| 岑巩县| 新宁县| 鹤峰县| 清徐县| 子洲县| 桃源县| 江都市| 新绛县| 丹凤县| 鄄城县| 昭苏县| 济源市| 开化县| 海兴县|