Tidyverse自學(xué)筆記-初識(shí)ggplot2

數(shù)據(jù)準(zhǔn)備
本示例數(shù)據(jù)是自編數(shù)據(jù)物舒,僅為練習(xí)所用色洞,數(shù)據(jù)結(jié)構(gòu)假設(shè)為戏锹,兩個(gè)年份year(2020冠胯,2021),兩個(gè)氮水平nitrogen(N1锦针,N2)荠察,兩個(gè)玉米品種variety(a,b)測(cè)定了5個(gè)試驗(yàn)指標(biāo)(變量v1奈搜,v2悉盆,v3,v4馋吗,v5)焕盟,每個(gè)處理3次重復(fù)block(1,2宏粤,3)脚翘。

library(tidyverse) # 調(diào)用tidyverse。
df <- read_csv(file = "df.csv") # 導(dǎo)入數(shù)據(jù)绍哎。文檔在工作目錄下来农,所以直接給文件名導(dǎo)入。
df # 查看數(shù)據(jù)崇堰。
## # A tibble: 24 × 9
##     year nitrogen variety block    v1    v2    v3    v4    v5
##    <dbl> <chr>    <chr>   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  2020 N1       a           1  1.26  2.14   0.4   5    3.25
##  2  2020 N1       a           2  1.2   2.9    0.1   5.3  1.27
##  3  2020 N1       a           3  1.3   3      0.3   5.6  2.24
##  4  2020 N1       b           1  1.08  1.72   1.8   2.8  1   
##  5  2020 N1       b           2  1.05  1.65   1.7   2.5  3.12
##  6  2020 N1       b           3  1.15  1.35   1.5   3.1  4.57
##  7  2020 N2       a           1  1.32  3.78   1.6   6    5.85
##  8  2020 N2       a           2  1.28  4.32   1.4   6.1  6.48
##  9  2020 N2       a           3  1.35  3.95   1.3   6.2  7.21
## 10  2020 N2       b           1  1.33  3.47   2.8   4.1  6.56
## # … with 14 more rows

7 ggplot2繪圖

7.1 認(rèn)識(shí)ggplot2

ggplot2是由Hadley Wickham開(kāi)發(fā)的最流行的R可視化包沃于。
ggplot2中的gg 表示圖形語(yǔ)法(Grammar of Graphics)涩咖,這是一個(gè)通過(guò)使用“語(yǔ)法”來(lái)繪圖的圖形概念。

7.1.1 構(gòu)圖基本要素

ggplot2語(yǔ)法的10大部件:

  • 數(shù)據(jù)(data)
  • 映射(mapping)
  • 幾何對(duì)象(geom)
  • 標(biāo)度(scale)
  • 統(tǒng)計(jì)變換(stats)
  • 坐標(biāo)系(coord)
  • 位置調(diào)整(Position adjustments)
  • 分面(facet)
  • 主題(theme)
  • 輸出(output)

ggplot2作圖必須的3個(gè)要件是數(shù)據(jù)繁莹、映射檩互、幾何對(duì)象。

來(lái)認(rèn)識(shí)一下三要素蒋困。

數(shù)據(jù)(Data)
用于繪圖的數(shù)據(jù)盾似,需要是整潔的數(shù)據(jù)框。如本文中的df數(shù)據(jù)集雪标。

映射(mapping)
將數(shù)據(jù)集中的變量數(shù)據(jù)映射 (關(guān)聯(lián))到相應(yīng)的圖形屬性零院,也稱(chēng)為"美學(xué)映射"或"美學(xué)"。
指明了變量與圖形所見(jiàn)元素之間的聯(lián)系村刨,告訴 ggplot圖形元素想要關(guān)聯(lián)哪個(gè)變量數(shù)據(jù)告抄。映射函數(shù)為aes()。
常用映射:

  • x:x軸
  • y:y軸
  • color:顏色
  • size:大小
  • shape:形狀
  • fill:填充
  • alpha:透明度

幾何對(duì)象(Geometric)
每個(gè)圖形都是采用不同的視覺(jué)對(duì)象來(lái)表達(dá)數(shù)據(jù)嵌牺,稱(chēng)為幾何對(duì)象打洼。ggplot2提供了50余種幾何對(duì)象,幾何對(duì)象對(duì)應(yīng)的函數(shù)命名方式為geom_xxx()逆粹。常見(jiàn)幾何對(duì)象如下募疮。

  • geom_point():散點(diǎn)圖
  • geom_line():折線(xiàn)圖
  • geom_smooth():光滑 (擬合)曲線(xiàn)
  • geom_bar()/geom_col():條形圖
  • geom_histogram():直方圖
  • geom_density():概率密度圖
  • geom_boxplot():箱線(xiàn)圖
  • geom_abline():參考直線(xiàn)

三個(gè)主要部件即可形成圖形,其他部件的設(shè)置可完成對(duì)圖的修飾僻弹。
Plot = data + Aesthetics + Geometry

7.1.2 圖層(layer)

ggplot2基于圖層化語(yǔ)法:圖形是一層一層的圖層疊加而成阿浓。實(shí)現(xiàn)方式為“+”疊加圖層。

繪制一幅散點(diǎn)圖來(lái)理解圖形三要素和圖層疊加蹋绽。

ggplot(df) # 只是創(chuàng)建了一個(gè)空的畫(huà)布芭毙。
image.png
ggplot(df, aes(x = v1, y = v5)) # aes添加了映射,將v1映射為x軸卸耘,將y映射為y軸退敦,但構(gòu)建的是一個(gè)空坐標(biāo)系。
image.png
ggplot(data = df, mapping = aes(x = v1, y = v5)) + geom_point() # 添加幾何對(duì)象為散點(diǎn)蚣抗。
image.png

這里侈百,數(shù)據(jù)為df,映射中v1映射給x軸翰铡,v5映射給y軸钝域,幾何對(duì)象為散點(diǎn)圖。圖形映射和幾何對(duì)象通過(guò)“+”疊加两蟀。

參考資料

  1. R語(yǔ)言編程—基于 tidyverse网梢,張敬信,人民郵電出版社(待出版)赂毯,2022.
  2. R語(yǔ)言教程战虏,李東風(fēng)拣宰,https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/index.html
  3. 《R數(shù)據(jù)科學(xué)》,人民郵電出版社烦感,2018.
  4. ggplot2高效實(shí)用指南巡社,http://www.reibang.com/p/2dc81b91131e
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市手趣,隨后出現(xiàn)的幾起案子晌该,更是在濱河造成了極大的恐慌,老刑警劉巖绿渣,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朝群,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡中符,警方通過(guò)查閱死者的電腦和手機(jī)姜胖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)淀散,“玉大人右莱,你說(shuō)我怎么就攤上這事〉挡澹” “怎么了慢蜓?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)郭膛。 經(jīng)常有香客問(wèn)我晨抡,道長(zhǎng),這世上最難降的妖魔是什么饲鄙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任凄诞,我火速辦了婚禮圆雁,結(jié)果婚禮上忍级,老公的妹妹穿的比我還像新娘。我一直安慰自己伪朽,他們只是感情好轴咱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著烈涮,像睡著了一般朴肺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坚洽,一...
    開(kāi)封第一講書(shū)人閱讀 51,775評(píng)論 1 307
  • 那天戈稿,我揣著相機(jī)與錄音,去河邊找鬼讶舰。 笑死鞍盗,一個(gè)胖子當(dāng)著我的面吹牛需了,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播般甲,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼肋乍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了敷存?” 一聲冷哼從身側(cè)響起墓造,我...
    開(kāi)封第一講書(shū)人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锚烦,沒(méi)想到半個(gè)月后觅闽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涮俄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年谱煤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禽拔。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刘离,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出睹栖,到底是詐尸還是另有隱情硫惕,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布野来,位于F島的核電站恼除,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏曼氛。R本人自食惡果不足惜豁辉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舀患。 院中可真熱鬧徽级,春花似錦、人聲如沸聊浅。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)低匙。三九已至旷痕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間顽冶,已是汗流浹背欺抗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留强重,地道東北人绞呈。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓团滥,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親报强。 傳聞我的和親對(duì)象是個(gè)殘疾皇子灸姊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容