r4ds學習筆記之ggplot2

前提
ggplot2簡介
美學映射Aesthetic Mappings
SessionInfo

為了進一步加強以及整合自己data science的能力,最近打算在我的博客開辟一個新類r4ds,專門用來記錄學習Hadley Wickham大神的新作R for Data Science的讀書筆記。該書推薦我們入門data science可以從可視化開始,這也是該書目錄布局的第一章。因此開始學習R語言可視化。
前提


本章主要聚焦于可視化包ggplot2,為了寫這本書,大神專門整合了一系列神包成為一個包tidyverse,因此第一步就是要先安裝該包并加載。

#install tidyverse
install.packages("tidyverse")
#load tidyverse
library(tidyverse)

ggplot2簡介

利用數據集mpg來探究發動機大小跟好友耗油是否存在某種關系,先check一下該數據集。

head(mpg)

在各個變量中:

  • disp:車發動機大小
  • hwy:衡量耗油率的一個指標,更多信息可?mpg查看

要探究displ與hwy的關系,最快就是畫個圖了

ggplot(data=mpg)+ geom_point(mapping = aes(x=displ, y=hwy))


圖中顯示兩者呈現負相關,disp越大,hwy越低。
ggplot2繪圖規則主要如下:

ggplot(data=<DATA>)+
     <GEOM_FUNCTION>(mapping=aes(>MAPPINGS>))

ggplot()會創建一個底板,然后可以通過geom_function()不斷地添加圖形元素,進行豐富。

p <- ggplot(mpg)#create an empty graph
p+geom_point(aes(x=displ, y=hwy))#add a layer to the empty graph

美學映射Aesthetic Mappings

美學映射在ggplot2中是一個十分重要的概念,比如前文我們將displ、hwy分別映射給x、y軸,同時還可以用來控制圖形元素大小、形狀、顏色等屬性。

ggplot(mpg)+ 
geom_point(aes(x=displ, y=hwy, color=class))#將class映射給顏色屬性,這樣不同class就表現不同顏色


可以看到,通過顏色映射ggplot2會自動創建一個legend,需要注意的是這里顏色顏色我們是利用class,這是一個離散性變量,如果我們將之映射給點的size,則會出現warning,至于原因,看warning。

ggplot(mpg)+ geom_point(aes(x=displ, y=hwy, size=class))

或者將class映射給alpha參數,這是一個控制點透明度的參數;shape是一個控制形狀的參數

ggplot(mpg)+ geom_point(aes(x=displ, y=hwy, alpha=class))
ggplot(mpg)+ geom_point(aes(x=displ, y=hwy, shape=class))


發現當映射shape其中SUV是沒有形狀的,這是因為ggplot2只默認6種形狀,這個問題后續解決。 需要注意的是映射參數必須在aes(),不然就無法映射。

ggplot(mpg)+ geom_point(aes(x=displ, y=hwy), color="blue")#all the points are blue

今天就講到這,下次繼續
SessionInfo


sessionInfo()
## R version 3.4.1 (2017-06-30)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 8.1 x64 (build 9600)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=Chinese (Simplified)_China.936 
## [2] LC_CTYPE=Chinese (Simplified)_China.936 
## [3] LC_MONETARY=Chinese (Simplified)_China.936
## [4] LC_NUMERIC=C ## [5] LC_TIME=Chinese (Simplified)_China.936 
## 
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base 
## 
## other attached packages:
## [1] forcats_0.2.0 stringr_1.2.0 dplyr_0.7.1 
## [4] purrr_0.2.2.2 readr_1.1.1 tidyr_0.6.3 
## [7] tibble_1.3.3 ggplot2_2.2.1 tidyverse_1.1.1.9000
## 
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.11 cellranger_1.1.0 compiler_3.4.1 
## [4] plyr_1.8.4 bindr_0.1 tools_3.4.1 
## [7] digest_0.6.12 lubridate_1.6.0 jsonlite_1.5 
## [10] evaluate_0.10.1 nlme_3.1-131 gtable_0.2.0 
## [13] lattice_0.20-35 pkgconfig_2.0.1 rlang_0.1.1 
## [16] psych_1.7.5 rstudioapi_0.6 yaml_2.1.14 
## [19] parallel_3.4.1 haven_1.0.0 bindrcpp_0.2 
## [22] xml2_1.1.1 httr_1.2.1 knitr_1.16 
## [25] hms_0.3 rprojroot_1.2 grid_3.4.1 
## [28] glue_1.1.1 R6_2.2.2 readxl_1.0.0 
## [31] foreign_0.8-69 rmarkdown_1.6 modelr_0.1.0 
## [34] reshape2_1.4.2 magrittr_1.5 clisymbols_1.2.0 
## [37] boxes_0.0.0.9000 backports_1.1.0 scales_0.4.1 
## [40] htmltools_0.3.6 rvest_0.3.2 assertthat_0.2.0 
## [43] mnormt_1.5-5 colorspace_1.3-2 labeling_0.3 
## [46] stringi_1.1.5 lazyeval_0.2.0 munsell_0.4.3 
## [49] broom_0.4.2 crayon_1.3.2.9000
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,106評論 2 375

推薦閱讀更多精彩內容