欢迎光临散文网 会员登陆 & 注册

ggpubr全能作图包

2023-07-24 19:00 作者:尔云间  | 我要投稿

在前文中我们介绍了一些有关与ggpubr的一些绘图的功能但是这个全功能的包还可以绘制非常多的图形今天我们来盘点ggpubr的图形大全

处理数据的时候主要接触的是数据类型为单变量因素连续型数据双变量X离散Y连续双变量XY都连续这几个了类型

密度分布图直方图

对于单变量因素连续型数据一般用密度分布图、直方图来表示那ggpuber也提供了相关的绘图功能

密度分布图

#加载相应的R包

library(ggplot2)

library(ggpubr)

#构建数据集,随机构建一个个数据框,包括ABCD四个组别

set.seed(1234)

mydata <- data.frame(

  group = rep(c("A", "B","C","D"), each=200),

  value = c(rnorm(200, mean = 2), rnorm(200, 6),rnorm(200,2,4),rnorm(200,6,4))

)

#用ggdensity绘制密度图

ggdensity(mydata, x = "value", y="..density..", #也可选择"..count.."

          fill = "lightblue",

          add = "mean", #或者"median",

          rug = TRUE #在图形下方添加的密度标度

)

分组绘制密度图

#分组绘制密度直方图

ggdensity(mydata, x = "value",

          facet.by="group", #按照分组进行分面处理

          color = "group", fill="group", #填充按照组别映射

          palette = "lancet",#可以选择"npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" and "rickandmorty"

          add = "mean",

          rug = TRUE,

          alpha=0.4, #调整透明度

          xlab=F,ylab = "Density",

          panel.labs=list(group = c("A", "B", "C", "D")), #修改每个panel的名字

          ggtheme=theme_bw() #可以是ggplot2中的主题类型

#还可以添加相应的正态曲线来展示

p+stat_overlay_normal_density(color = "black", linetype = "dashed")

直方图

#直方图展示

gghistogram(mydata, x = "value", fill = "group",add = "mean", rug = TRUE, palette = c("#00AFBB", "#E7B800","pink","lightgreen"))

分面直方图

gghistogram(mydata, x = "value",facet.by = "group"#分面操作

,add_density = TRUE,#添加密度曲线

fill = "group",add = "mean", rug = TRUE, palette = c("#00AFBB", "#E7B800","pink","lightgreen"))

箱线图小提琴图条形图点状图

离散型的数据X为离散的)——箱线图小提琴图条形图点状图等

在以前的文章中我们也给予了一写小提琴的作图方法今天打包汇总各种图的做法

 简单的箱线图绘制

ggboxplot(mydata, x = "group", y = "value", width = 0.8)

ggboxplot(mydata, x = "group", y = "value", width = 0.8,

select = c("A","B"),#如果只想绘制某个组中的可以选择

orientation = "horizontal",#箱线图的方向

fill = "group",#填充映射到分组上

palette = c("#00AFBB", "#E7B800"),

add = "dotplot",#添加散点在图中,还可以选择"none", "dotplot", "jitter", "boxplot", "point", "mean", "mean_se", "mean_sd", "mean_ci", "mean_range", "median", "median_iqr", "median_hilow", "median_q1q3", "median_mad", "median_range"

add.params=list(color = "lightblue",size=0.5)#对添加的对象进行性状颜色大小等定义)

小提琴

小提琴图的绘制可以查阅小云以前写的“多渠道绘制小提琴图,实现作图自由”的文章

 

条形图

data("mtcars")

df2 <- mtcars

df2$cyl <- factor(df2$cyl)

df2$name <- rownames(df2)#添加一行name

head(df2[, c("name", "wt", "mpg", "cyl")])

 

ggbarplot(df2, x="name", y="mpg", fill = "cyl", color = "white",

palette = "jco",#jco的配色

sort.val = "asc",#上升排序

sort.by.groups=TRUE,#按组排序

x.text.angle=90)

偏差图

df2$mpg_z <- (df2$mpg-mean(df2$mpg))/sd(df2$mpg)

df2$mpg_grp <- factor(ifelse(df2$mpg_z<0, "low", "high"), levels = c("low", "high"))

head(df2[, c("name", "wt", "mpg", "mpg_grp", "cyl")])

 

ggbarplot(df2, x="name", y="mpg_z", fill = "mpg_grp", color = "white",

palette = "jco", sort.val = "asc", sort.by.groups = FALSE, x.text.angle=60,

ylab = "MPG z-score", xlab = FALSE, legend.title="MPG Group")


ggbarplot(df2, x="name", y="mpg_z", fill = "mpg_grp", color = "white",

          palette = "jco", sort.val = "desc", sort.by.groups = FALSE,

          x.text.angle=90, ylab = "MPG z-score", xlab = FALSE,

          legend.title="MPG Group", rotate=TRUE,#是否旋转的参数

 ggtheme = theme_minimal())#一般我们用的偏差图都是旋转90度的直方图

点图

棒棒图可以代替柱状图来展示相应的结果ggpubr包中也有相应的函数

这里简单的展示棒棒图的做法对于偏差图与柱状图类似

ggdotchart(df2, x="name", y="mpg", color = "cyl",

palette = c("#00AFBB", "#E7B800", "#FC4E07"), sorting = "ascending",

add = "segments", ggtheme = theme_pubr())

相关线性分析图

对于双变量XY都连续这个数据类型一般采用相关线性分析来解决这一部分小云也有写过一片有关于相关性分析的图的绘制

data("iris")

p <- ggplot(data = iris, aes(x = Sepal.Width, y = Petal.Width,  color = Species)) + geom_point() + geom_smooth(method = lm) +

scale_color_manual(values = c('#FF7400', '#009999', '#3914AF'))  +

labs(title = 'iris') +

theme_bw() + theme(plot.title = element_text(hjust = 0.5)) +

stat_cor(method = 'pearson', aes(x = Sepal.Width, y = Petal.Width,  color = Species))

p

 

从以上的展示中可以看到ggpubr的全能性非常的强可以涵盖很多图形并且快速的制作相应的图

 好了,这样我们ggpubr包的分享就完成了。小伙伴们如果有什么问题就和小云讨论吧。









ggpubr全能作图包的评论 (共 条)

分享到微博请遵守国家法律