在使用ggplot2绘制诸如barplot/dotplot时,默认是按照首字母顺序进行排列,这种绘制方式可能并不是我们想要的,通过reorder函数或者设置因子,亦或使用ggpubr中的order参数等可以进行顺序调整。
#绘图数据
dat <- data.frame(
treatment = (c("si-NC","si-Exp1","si-Exp2")),
value = c(1, 0.2, 0.3)
)
dat
默认绘图
# Load the ggplot2 package
library(ggplot2)
###默认绘图
#Fig1, 默认绘图:按字母顺序排列X轴绘图数据
ggplot(dat, aes(x = treatment, y = value))+geom_bar(stat = "identity")
Fig1
reorder函数修改绘图顺序
###reorder函数
#Fig2, reorder:按value的升序排列treatment中的组,主要适用于按数值大小排序等
ggplot(dat, aes(x = reorder(treatment,value), y = value))+geom_bar(stat = "identity")
#Fig3, reorder:按value的降序排列treatment中的组
ggplot(dat, aes(x = reorder(treatment,-value), y = value))+geom_bar(stat = "identity")
Fig2
Fig3
因子排序修改绘图顺序
###因子排序
#Fig4,设置因子顺序绘图-1,可以根据需要设置不同的因子顺序,从而绘制不同顺序的图
dat$treatment <- factor(dat$treatment, levels=c("si-NC","si-Exp1","si-Exp2"))
ggplot(dat, aes(x = treatment, y = value))+geom_bar(stat = "identity")
#Fig5,设置因子顺序绘图-2
dat$treatment <- factor(dat$treatment, levels=c("si-NC","si-Exp2","si-Exp1"))
ggplot(dat, aes(x = treatment, y = value))+geom_bar(stat = "identity")
Fig4
Fig5
ggpubr中order参数调整绘图顺序
library(ggpubr)
#Fig6, 设置order参数中的顺序,以进行绘图排序
ggbarplot(dat, "treatment","value",order = c("si-Exp1","si-NC","si-Exp2"),fill = "grey")
Fig6
网友评论