基本简介
分组点图,与分组柱状图类似,当需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图。论文中常见的分组箱型图和分组条形图(柱状图)可以直观的比较方法的效果,以一个图显示多个方法在多个数据集上的结果。但也有文献常常使用分组点图来展示结果。本文使用ggplot2包绘制分组有误差棒的点图,这种图中间的点代表均值,误差线表示上限和下限(也可以是标准差或者标准误)。
基本用法
ggplot2包:geom_point()函数结合geom_errorbar()函数
###geom_point()
geom_point(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
###geom_errorbar()
geom_errorbar(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
na.rm = FALSE,
orientation = NA,
show.legend = NA,
inherit.aes = TRUE
)
###具体帮助可以在Rstudio中加载ggplot2包后使用?geom_point()和?geom_errorbar()分别查看官方帮助文件
示例代码
#清空环境
rm(list = ls())
#加载导入数据的readxl包和作图的ggplot2包
library(readxl)
library(ggplot2)
#喜欢新罗马字体的可以使用windowsFonts()函数查看电脑字体,进行选择Times New Roman
windowsFonts()
#读入示例数据
df<-read_xlsx("D:/Users/ASUS/Desktop/test.xlsx", sheet = "test")
#查看数据
df
这里的数据是示例数据,不是真实的数据,实际作图过程中可以替换成自己的数据。Treatment为处理(包括A、B、C、D四个处理),Yield为产量数据(由于本数据为示例数据,因此这里不添加单位),Low和Up分别为上限和下限(也可以为标准误或者标准差,根据自己情况选择),Site为不同的的研究地点(包括LL和OO两个地点),Type为不同的作物类型(Corn和Wheat)
##作图
ggplot(df, aes(x = Treatment, y=Yield, color = Type))+
geom_errorbar(aes(ymin=Low, ymax=Up), width=.3,position = position_dodge(0.8))+
geom_point(shape = 19, size = 3,position = position_dodge(0.8))+
theme_bw()+
theme(legend.text=element_text(size=14))+
theme(title=element_text(size=14))+
theme(axis.text.x = element_text(size = 14, color = "black"))+
theme(axis.text.y = element_text(size = 14, color = "black"))+
facet_grid(Site~.)+ #这里根据Site进行分面
ylab("Yield")+
guides(color=guide_legend(title = "Type"))+
theme(text=element_text(size=14, family="serif"))#这里设置字体类型(我们选择Times New Roman)
若不设置字体的话,则默认为Arial格式的字体
参考文献
[1] https://r-graph-gallery.com/ggplot2-package.html
[2] https://cran.r-project.org/web/packages/ggplot2/index.html
[3] https://www.tutorialspoint.com/ggplot2/ggplot2_quick_guide.htm
[4] https://ggplot2.tidyverse.org/
网友评论