R語言的ggpubr包功能還是很強(qiáng)大的,使用起來也沒有g(shù)gplot那么復(fù)雜瞎饲。ggpubr包含有十幾種函數(shù)伯诬,約30種圖形。
今天我們先學(xué)習(xí)使用R語言的ggpubr包繪制SCI發(fā)表級的各種散點(diǎn)圖织盼。我們使用R自帶的數(shù)據(jù)集mtcars杨何。
View(mtcars)#查看數(shù)據(jù)
class(mtcars$wt)#查看數(shù)據(jù)類型
class(mtcars$mpg)
wt與mpg都是連續(xù)型數(shù)據(jù)(numeric)
install.packages("ggpubr")#安裝包
library(ggpubr)#加載包
ggscatter(mtcars, x = "wt", y = "mpg",
color = "black", size = 3,
add = "reg.line",
add.params = list(color = "red", fill = "lightgray"),
conf.int = TRUE,
cor.coef = TRUE,
cor.coeff.args = list(method = "pearson", label.x = 3, label.sep = "\n")
2. 分組繪制并計(jì)算相關(guān)系數(shù),用雜志nature的配色(按照cyl分組)
mtcars$cyl1=as.factor(mtcars$cyl)#將原來數(shù)據(jù)類型是數(shù)值型的cyl轉(zhuǎn)換生成類型是因子的
cyl1
class(mtcars$cyl1)
現(xiàn)在cyl1已經(jīng)變成了分類數(shù)據(jù)(factor)
ggscatter(mtcars, x = "wt", y = "mpg",
color = "cyl1", palette = "nature",
add = "reg.line", conf.int = TRUE)+
stat_cor(aes(color = cyl), label.x = 3)
3. 在散點(diǎn)圖添加分組橢圓,均值點(diǎn)悔政,以及輻射線晚吞,用雜志jama的配色(按照cyl分組)
ggscatter(mtcars, x = "wt", y = "mpg",
color = "cyl1", shape = "cyl1",
palette ="jama",
ellipse = TRUE,
mean.point = TRUE,
star.plot = TRUE
)
4. 添加文本注釋(按照cyl分組)
mtcars$name <- rownames(mtcars)
ggscatter(mtcars, x = "wt", y = "mpg",size=1,
color = "cyl1", palette = c("#00AFBB", "#E7B800", "#FC4E07"),
label = "name",
repel = TRUE,
mean.point = FALSE,star.plot = FALSE)
5. 散點(diǎn)圖邊緣添加密度圖(按照cyl分組)
ggscatterhist(
mtcars, x = "wt", y = "mpg",
color = "cyl1", size = 3, alpha = 0.6,
palette = c("#00AFBB", "#E7B800", "#FC4E07"),
margin.params = list(fill ="cyl1", color = "black", size = 0.2)
)
6. 散點(diǎn)圖邊緣添加箱圖,用雜志lancet的配色(按照cyl分組)
ggscatterhist(
mtcars, x = "wt", y = "mpg",
color = "cyl1",size = 3, alpha = 0.6,
palette = "lancet",
margin.plot = "boxplot",
ggtheme = theme_bw()
)
參考資料:
ggscatter幫助文件
ggscatterhist幫助文件
歡迎大家關(guān)注?R語言與SPSS學(xué)習(xí)筆記 公眾號