久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【R分享|實(shí)戰(zhàn)】科白君淺談ggplot2包學(xué)習(xí)邏輯

 科白君 2021-07-31



 量變學(xué)習(xí),,過程深思,總結(jié)完善,,突破創(chuàng)新,。”   --科白君


"R分享實(shí)戰(zhàn)"專刊·第11篇
  編輯 | 科白維尼
  2671字 | 7分鐘閱讀

本期推文內(nèi)容
眾所周知,,與Python相比,,R語言更擅長(zhǎng)繪圖。ggplot2作為R語言繪圖最精彩的包,,相信大家也有所耳聞,。相比于plot函數(shù),ggplot函數(shù)更適合新手學(xué)習(xí),。ggplot不僅可以滿足大家的繪圖需求,,而且可以描繪各式各樣優(yōu)美的圖形。然而,,ggplot的學(xué)習(xí)對(duì)不少小白來說仍有一定難度,。實(shí)際上,ggplot描繪不同圖形的畫圖思路是一致的,,只要掌握了所繪圖形所需要用的參數(shù)和函數(shù),,再利用"套路思維"完成即可。這里給大家做了簡(jiǎn)單的總結(jié),,同時(shí)以柱狀圖/條形圖為例,,與大家分享繪圖邏輯。

首先推薦一個(gè)網(wǎng)址The R Graph Gallery – Help and inspiration for R charts (r-graph-gallery.com)

下圖是該網(wǎng)址的主頁(yè),,包括大約50種圖及其對(duì)應(yīng)代碼,,大家可以收藏學(xué)習(xí)。同時(shí),,網(wǎng)站的所有代碼都可以復(fù)現(xiàn),,相信這能給大家在繪圖時(shí)提供了一定幫助。


01

ggplot2包常用的函數(shù)介紹


與base包中plot函數(shù)相比,,ggplot2包中g(shù)gplot函數(shù)作圖是規(guī)律可循的,。首先,,ggplot作圖結(jié)果滿足期刊出版(可繪制高質(zhì)量高分辨率的圖);其次,,既可繪制常見種類的圖形,,也可將不同圖形種類組合在一起,或者設(shè)計(jì)新穎的圖形,。而plot函數(shù)對(duì)于新手來說相對(duì)較難,,也不太支持設(shè)計(jì)新穎圖形等。ggplot的繪圖邏輯有點(diǎn)像ps,,為什么這么說? 因?yàn)間gplot的繪圖時(shí)存在類"圖層"概念,。首先,將基礎(chǔ)的圖形先鋪墊好,,然后往上一層一層疊加圖層,,直至滿足需求。所以使用ggplot函數(shù)繪圖時(shí)需要用到大量的加號(hào)"+",,這是ggplot繪圖的底層邏輯,。因此,想繪圖及美化一張圖,,就需要針對(duì)圖中不同元素的函數(shù)和參數(shù)進(jìn)行學(xué)習(xí),。

(1) ggplot2圖層元素基本介紹
數(shù)據(jù)(data):可視化的數(shù)據(jù)
映射(mapping):數(shù)據(jù)的變量
幾何對(duì)象(geom):如point散點(diǎn)圖等
標(biāo)度(scale):變量以什么形狀、顏色映射到圖形中
統(tǒng)計(jì)變換(stats):對(duì)數(shù)據(jù)計(jì)算
分面(facet):根據(jù)數(shù)據(jù)變量拆開,,分層畫圖
主題(theme):根據(jù)需求對(duì)圖進(jìn)行"精雕細(xì)琢"
注釋 (annotate): 對(duì)圖形增加文字類的注釋

(2) 第一層:ggplot () 圖層 

ggplot ()圖層包括數(shù)據(jù)和映射,。這是畫圖的基礎(chǔ),正如立個(gè)背景(畫布),。例如,,ggplot (data = xx, mapping = aes(x, y) 等等


(3) 第二層:geom_xx () 圖層 

該圖層主要繪制所需圖形類型,當(dāng)ggplot () 描述了data和mapping后,,geom這層就可以不用再寫這部分內(nèi)容,,直接描述例如該圖形的形狀、大小,、顏色等等,。常見包括以下圖形:

geom_point () 散點(diǎn)圖

geom_bar () 柱狀圖

geom_line () 折線圖

geom_boxplot () 箱線圖

geom_violin () 小提琴圖

geom_histogram () 直方圖

geom_density () 概率密度圖

其實(shí),繪圖到這兩層已經(jīng)把圖畫出來了,。后續(xù)的其他元素,,是根據(jù)自己的需求不斷的完善和美化。這里就不再一一贅述了,,我用一個(gè)柱狀圖的例子來展示ggplot2的魅力,。
02

ggplot2繪制柱狀圖/條形圖


考慮到散點(diǎn)圖前幾期已經(jīng)與大家分享過,,就挑選一個(gè)常見的圖形(柱狀圖/條形圖)作為例子給大家講講繪圖思路,。根據(jù)上面描述的基本元素,,我們一步一步繪制:

第一、二層:包含數(shù)據(jù)data  映射mapping  幾何對(duì)象geom

library(ggplot2) #加載R包
data("mtcars") #自帶數(shù)據(jù)集
head(mtcars) #查看該數(shù)據(jù)集前6行
ggplot(data=mtcars, aes(x = as.factor(cyl), y = mpg))+
  geom_bar(stat = "identity")
#ggplot() 先描述數(shù)據(jù)對(duì)象,,然后映射數(shù)據(jù)中x 和 y的對(duì)應(yīng)變量,。
#geom_bar() 畫柱狀圖。如果設(shè)置stat="identity",,這意味著條形的高度表示數(shù)據(jù)數(shù)據(jù)的值,,而數(shù)據(jù)的值是由aes ()函數(shù)的y參數(shù)決定的,就是說,,把值映射到y(tǒng),,所以,當(dāng)設(shè)置stat="identity"時(shí),,必須設(shè)置映射函數(shù)中的y參數(shù),,把它映射到數(shù)值變量。

結(jié)果如圖:

這里強(qiáng)調(diào)一點(diǎn):大家可以看到設(shè)定x對(duì)象為cyl,,用了as.factor()函數(shù),,這表示將4,6,8作為三個(gè)因子。如果我們直接用x=cyl將是另一個(gè)結(jié)果,,因?yàn)閏yl的具體結(jié)果為數(shù)值型數(shù)據(jù),。因此,當(dāng)遇到數(shù)值型作為x軸時(shí),,大家需要考慮清楚是否需要將其轉(zhuǎn)化為因子型,。

后續(xù)圖層的代碼講解如下:包含標(biāo)尺scale 分面facet 主題theme,其余的代碼學(xué)習(xí)邏輯與這幾個(gè)元素一樣,。

最主要對(duì)不懂的函數(shù)尋求幫助,,最重要的事情說三遍:看對(duì)應(yīng)help中examples,看對(duì)應(yīng)help中的examples,,看對(duì)應(yīng)help中的examples,。

ggplot(data=mtcars, aes(x = as.factor(cyl), y = disp, fill = as.factor(gear)))+
#fill這里是對(duì)gear這個(gè)變量進(jìn)行分組,如果不用as.factor函數(shù),,則顏色會(huì)根據(jù)數(shù)值的變化展現(xiàn)出漸進(jìn)色變化,。
  geom_bar(stat = "identity")+
  scale_y_continuous(limits = c(0,500))+ #對(duì)y軸進(jìn)行范圍設(shè)定
  facet_grid(~gear)+ #根據(jù)gear進(jìn)行分面 命令寫法為~xx
  theme_bw()+ #將灰色背景設(shè)置為白色
  theme(legend.title = element_blank())+ #去掉圖例的標(biāo)題 element_blank 表示空白
  labs(x="cyl") #對(duì)x軸標(biāo)題進(jìn)行修改


結(jié)果如圖:

這是對(duì)gear不設(shè)定as.factor,結(jié)果差異非常明顯,。

作者嘮叨:經(jīng)過簡(jiǎn)單的總結(jié),,希望能給大家利用ggplot2繪圖時(shí)提供幫助。最重要的是:需要大家保持一個(gè)繪圖思路/邏輯,,ggplot2就是一層又一層的覆蓋,,最終形成一張讓人賞心悅目的圖。如果大家遇到問題歡迎留言~

好書推薦
R語言實(shí)戰(zhàn)(第三版):主要完善了優(yōu)化繪圖等內(nèi)容

歡迎大家進(jìn)群學(xué)習(xí)和交流R語言問題~

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多