萬(wàn)丈高樓平地起——ggplot2簡(jiǎn)單介紹

ggplot2.jpg

ggplot2由Hadley Wickham開發(fā),是一個(gè)功能強(qiáng)大且十分靈活的包,可以說(shuō)它是R中繪圖的主陣地,很好地闡釋了什么叫“圖形美學(xué)”。

ggplot2最主要的優(yōu)點(diǎn)在于它采取圖層設(shè)計(jì)的方式進(jìn)行繪圖,簡(jiǎn)單來(lái)說(shuō)ggplot2的繪圖是通過(guò)圖層之間的疊加實(shí)現(xiàn)的,而這個(gè)疊加就是通過(guò) + 實(shí)現(xiàn)的,這在很大程度上有利于結(jié)構(gòu)化思維繪圖。一般來(lái)說(shuō)ggplot2繪圖的基本語(yǔ)法結(jié)構(gòu)如下所示

ggplot(data = <data>, mapping = aes(<mappings>) +
#創(chuàng)建了面板,并不出現(xiàn)圖形
geom_xxx() | stat_xxx() +   #出現(xiàn)圖形元素
scale_xxx() +   #度量調(diào)整
coord_xxx() +   #坐標(biāo)變換,默認(rèn)為直角坐標(biāo)系
facet_xxx() +   #圖形分面系統(tǒng)
guides() +   #圖例調(diào)整
theme()    #主題設(shè)定

其中,前兩個(gè)元素對(duì)于ggplot2繪圖來(lái)說(shuō)是必須的,不然不會(huì)出現(xiàn)圖形元素,后面5個(gè)為可選元素,主要用于圖形的美化和個(gè)性化要求的實(shí)現(xiàn)。

geom_xxx()和stat_xxx()

geom_xxx()為幾何對(duì)象函數(shù),stat_xxx()為統(tǒng)計(jì)變換函數(shù),我們一般使用幾何對(duì)象函數(shù),只有當(dāng)我們?cè)诶L圖時(shí)涉及到統(tǒng)計(jì)變換才會(huì)用到stat_xxx()函數(shù),比如我們要繪制帶有誤差線的均值散點(diǎn)圖。geom_xxx()函數(shù)太多了,這里先不一一列舉了,后面實(shí)戰(zhàn)時(shí)慢慢帶入吧!
stat_xxx()函數(shù)主要是在數(shù)據(jù)被繪制出來(lái)之前對(duì)其進(jìn)行統(tǒng)計(jì)計(jì)算,不同的計(jì)算方法會(huì)產(chǎn)生不同的計(jì)算結(jié)果,所以stat()函數(shù)必定是與geom()函數(shù)存在一個(gè)對(duì)應(yīng)的關(guān)系,不然你統(tǒng)計(jì)變換又有什么意義呢?每一個(gè)圖層基本上都包含一個(gè)幾何對(duì)象和一個(gè)統(tǒng)計(jì)變換,也就是說(shuō):每一個(gè)以geom_xxx()開頭的幾何對(duì)象都含有一個(gè)stat參數(shù),同時(shí),每一個(gè)以stat_xxx()開頭的幾何對(duì)象也都會(huì)有一個(gè)geom參數(shù)。實(shí)際上,geom_xxx()的參數(shù)里面會(huì)有一個(gè)默認(rèn)的選項(xiàng):stat = 'identity',就是默認(rèn)不進(jìn)行統(tǒng)計(jì)變換。

scale_xxx()

用于控制變量映射到視覺(jué)對(duì)象的具體細(xì)節(jié),比如坐標(biāo)軸、透明度、輪廓色、填充色、形狀等信息。具體我們會(huì)在后面的實(shí)戰(zhàn)中接續(xù)說(shuō)明。

coord_xxx()

在生物學(xué)繪圖當(dāng)中,常用的坐標(biāo)系包括直角坐標(biāo)系,也稱作笛卡兒坐標(biāo)系,以及極坐標(biāo)系。其中g(shù)gplot2的直角坐標(biāo)系包括coord_cartesian()、coord_fixed()、coord_flip()以及coord_trans(),默認(rèn)為第一個(gè),coord_fixed()能夠讓我們固定縱橫比(華夫餅圖和復(fù)合型散點(diǎn)餅圖),coord_flip()能夠翻轉(zhuǎn)坐標(biāo)系,coord_trans()坐標(biāo)系的坐標(biāo)軸上刻度比例尺是變化的,例如數(shù)據(jù)點(diǎn)在某個(gè)軸方向上是變化的,不便于觀察,這個(gè)時(shí)候就可以通過(guò)改變比例尺來(lái)進(jìn)行調(diào)節(jié),使數(shù)據(jù)點(diǎn)集中顯示,更加方便觀察。
同時(shí),ggplot2能夠通過(guò)coord_polar()將直角坐標(biāo)系轉(zhuǎn)換為極坐標(biāo)系,具體語(yǔ)句為:

coord_polar(theta = 'x',start = 0,direction = 1,clip = 'on')

theta表示要極坐標(biāo)化的中心軸,即將X軸轉(zhuǎn)換為圓周;direction表示排列方向,1表示順時(shí)針。

theme()

在主題方面,一般會(huì)選擇套用現(xiàn)成的模板,比如ggsci就是專門為學(xué)術(shù)圖表開發(fā)的。ggplot2自帶的主題也很多,包括theme_gray()、theme_bw()、theme_light()、theme_test()以及theme_classic(),學(xué)術(shù)圖表一般推薦theme_test()和theme_classic()。

還有很多參數(shù),只能在實(shí)戰(zhàn)中慢慢帶入咯~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、基本思想和語(yǔ)法框架 基本思想:圖形分層是關(guān)鍵,圖形疊加靠+來(lái)實(shí)現(xiàn) 基本語(yǔ)法框架如下: 其中,ggplot()+...
    范垂欽_92be閱讀 1,241評(píng)論 0 4
  • ggplot2繪圖理念 圖形系統(tǒng)的核心理念是把繪圖與數(shù)據(jù)分離,把數(shù)據(jù)相關(guān)的繪圖與數(shù)據(jù)無(wú)關(guān)的繪圖分離,按圖層作圖。g...
    毛線東東a閱讀 2,526評(píng)論 0 12
  • R語(yǔ)言最擅長(zhǎng)繪圖。R語(yǔ)言最擅長(zhǎng)的繪圖包是ggplot2,由于很多朋友沒(méi)有接觸過(guò)ggplot2,必須要對(duì)其語(yǔ)言方式有...
    張朝輝_b688閱讀 13,497評(píng)論 2 11
  • 作者:嚴(yán)濤浙江大學(xué)作物遺傳育種在讀研究生(生物信息學(xué)方向)偽碼農(nóng),R語(yǔ)言愛好者,愛開源 ggplot2學(xué)習(xí)筆記之圖...
    Dylan的迪閱讀 2,874評(píng)論 0 6
  • ggplot2圖層元素 1. 數(shù)據(jù)(data):將要可視化的數(shù)據(jù) 2. 映射(aes):數(shù)據(jù)中的變量值 一般是X\...
    王尚一閱讀 1,125評(píng)論 0 1

友情鏈接更多精彩內(nèi)容