-
R语言——带有误差线和显著性标记的柱状图如何做?
- 网站名称:R语言——带有误差线和显著性标记的柱状图如何做?
- 网站分类:技术文章
- 收录时间:2025-08-25 21:47
- 网站地址:
“R语言——带有误差线和显著性标记的柱状图如何做?” 网站介绍
背景介绍
昨天我们讲了如何进行单因素方差分析或者非参数检验,以及组间的两两比较。
今天我们来看一下,对于数据如何作图,并且加上误差条以及显著性标记。
软件介绍
R、RStudio
作图教程
数据符合正态分布
1.在数据符合正态的条件下,适合做均值加减标准差或标准误的柱状图,首先,我们计算各个组别的均值和标准差或标准误。在mean()和sd()函数中,我们对Time进行计算均值和标准差,使用na.rm=TRUE,是由于我们的数据中包含了空值。(%>%就是一种管道符,传递函数用的)
# 计算均值和标准差
library(tidyverse)
T2plot <- T2%>%
group_by(Group)%>%
summarise(
n=n(),
mean=mean(Time,na.rm=TRUE),
sd=sd(Time,na.rm = TRUE))
T2plot
2.接下来我们进行数据绘图,然后我们基础的图就出来了
# 开始绘图
ggplot(T2plot,aes(Group,mean,fill=Group))+
geom_col()
3.继续上面的,我们给柱子加上误差线,并设置宽度和粗细
# 开始绘图
ggplot(T2plot,aes(Group,mean,fill=Group))+
geom_col()+
geom_errorbar(aes(Group,
ymin=mean-sd,
ymax=mean+sd,
color=Group),width=.6,size=1)
4.在上述基础上,我们可以对x和y坐标进行名字的更改,以及对y轴范围进行更改
# 开始绘图
ggplot(T2plot,aes(Group,mean,fill=Group))+
geom_col()+
geom_errorbar(aes(Group,
ymin=mean-sd,
ymax=mean+sd,
color=Group),width=.6,size=1)+
xlab("Experimental group")+
ylab("Time")+
ylim(0,150)
5.接下来,我们对横纵坐标的字体大小进行更改:axis.title=element_text()是对x和y的标题名称进行更改;axis.text=element_text()是对x和y的轴的字体进行调整。同时,我们使用legend.position="none"对标签去除
# 开始绘图
ggplot(T2plot,aes(Group,mean,fill=Group))+
geom_col()+
geom_errorbar(aes(Group,
ymin=mean-sd,
ymax=mean+sd,
color=Group),width=.6,size=1)+
xlab("Experimental group")+
ylab("Time")+
ylim(0,150)+
theme(legend.position ="none",
axis.title = element_text(size=15),
axis.text = element_text(size=15))
6.使用annotate()函数,对柱子增加标签,然后需要增加几个就复制几个,更改一下x和y的位置就行
# 开始绘图
ggplot(T2plot,aes(Group,mean,fill=Group))+
geom_col()+
geom_errorbar(aes(Group,
ymin=mean-sd,
ymax=mean+sd,
color=Group),width=.6,size=1)+
xlab("Experimental group")+
ylab("Time")+
ylim(0,150)+
theme(legend.position ="none",
axis.title = element_text(size=15),
axis.text = element_text(size=15))+
annotate("text",x=2,y=128,label="**",size=10)+
annotate("text",x=3,y=98,label="**",size=10)+
annotate("text",x=5,y=103,label="**",size=10)+
annotate("text",x=7,y=98,label="*",size=10)+
annotate("text",x=8,y=108,label="**",size=10)+
annotate("text",x=9,y=100,label="**",size=10)+
annotate("text",x=10,y=102,label="**",size=10)+
annotate("text",x=11,y=78,label="**",size=10)
7.如果你想给外围增加一个线框和填充图里面的颜色怎么办?使用panel.border=element_rect()以及panel.background=element_rect()
# 开始绘图
ggplot(T2plot,aes(Group,mean,fill=Group))+
geom_col()+
geom_errorbar(aes(Group,
ymin=mean-sd,
ymax=mean+sd,
color=Group),width=.6,size=1)+
xlab("Experimental group")+
ylab("Time")+
ylim(0,150)+
theme(legend.position ="none",
axis.title = element_text(size=15),
axis.text = element_text(size=15))+
annotate("text",x=2,y=128,label="**",size=10)+
annotate("text",x=3,y=98,label="**",size=10)+
annotate("text",x=5,y=103,label="**",size=10)+
annotate("text",x=7,y=98,label="*",size=10)+
annotate("text",x=8,y=108,label="**",size=10)+
annotate("text",x=9,y=100,label="**",size=10)+
annotate("text",x=10,y=102,label="**",size=10)+
annotate("text",x=11,y=78,label="**",size=10)+
theme(panel.border = element_rect(fill=NA,color = "black",size = 2),
panel.background = element_rect(fill = "lightblue"))
8.最终图片如何导出呢,我们首先将图片拉到一个合适的大小,通过拉动边框,将图片适当展示
9.然后,使用ggsave()进行导出图片,直接在作图函数后面输入函数,命名图片以及图片格式,写入DPI是多少,即可导出到R的文件夹。
ggsave("不动时间图.png",dpi=600)
10.其他格式的图片,只需要更换图片格式尾缀即可,如“不动时间.pdf”,“不动时间.jpg”等。好了,今天的教程就这么多了,赶紧来学学吧!
更多相关网站
- 关于Nginx性能优化的10个小技巧,学到即赚到!
- python 包之 Pillow 图像处理教程
- 解决组件问题:PDF-XChange Viewer 2.5更新
- windows文件管理之自定义文件夹图标
- 涵盖18+ SOTA GAN实现,这个图像生成领域的库火了
- 强烈推荐一款全能的下载神器--Aria2
- 英国条形码注册之后如何生成条码图片?
- 完全免费!9个超好用的图片压缩工具
- 这个开源的条形码生成器,有点厉害。。。
- Web性能的计算方式与优化方案(二)
- 解决Qt程序桌面图标有锯齿的问题_qt 程序图标
- 免费海量图标搜寻引擎,PNG、SVG图案都可下载
- 掌握GIF图片压缩的方法,6种实用技巧助你高效搞定GIF图片压缩
- 苹果iPhone 13发布日期、规格等最新消息
- 《玻璃之花与坏掉的世界》再曝新宣传片
- 我做了个 AI 神器,模糊图片变清晰,4倍无损放大,极简且好用
- 《数码宝贝大冒险tri.》第二章明年4月发售
- PixelMe这个日本的打码工具,一度占了下载排行榜榜首
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)