(生物信息学)R语言绘图初-中-高级——3-10分文章必备——箱线图(初级)

发表在生物信息学领域的文章在选题深度与创新性上具有较高要求的同时也对研究方法与呈现效果有严格标准。其中除研究思路和前沿热点之外,图片呈现的精美程度同样值得重视。本系列专栏致力于帮助读者提升科研图表制作能力特设R语言绘图进阶课程内容包括从基础到高级的绘图技巧系统归纳分析常见高分值图片并分享了详细的绘图代码实现方案以及相应的图像解读方法。
本专栏将向大家介绍的图片绘制如下:
1. 散点图
2. 箱线图
3.条形图
4.正负条形图
5.区组条形图
6.小提琴图
7.热图
8.Venn图
9.生存曲线
10.森林图
11.TSNE
12.瀑布图
13.ROC曲线
14.点阵图
15.相关系数图
16.饼图
17.树形图
18.气泡图
19.火山图
20.点图
在那一期节目里,我们介绍了t检验这一统计方法,并具体说明了如何利用TCGA的基因表达数据来演示这一过程:<>。
下面我们来介绍一下箱线图如何绘制,并附上t检验的结果。
首先准备数据:

将01标记为肿瘤样本,并将11标记为正常样本。在资源库中我已经完成了LCPM数据的转换工作,并对所有条目进行了身份标识转换。
下面开始运行代码:
首先读取数据:
setwd("F:\ 箱线图")
dir()
data <- read.csv("CCNB1.csv",header = T,sep = ",")
head(data)
# > head(data)
# X CCNB1 Type
#1 TCGA.B2.4101.01A 0.4718069 Tumor
#2 TCGA.BP.4342.01A 0.5964534 Tumor
#3 TCGA.B0.4691.01A 0.7501739 Tumor
#4 TCGA.BP.4167.01A 0.6212930 Tumor
#5 TCGA.B8.4620.01A 0.5606551 Tumor
#6 TCGA.BP.4769.01A 0.4586271 Tumor
AI助手
下面需要下载两个包:
install.packages("ggplot2")
install.packages("ggpubr")
library(ggpubr)
library(ggplot2)
AI助手
作为R语言中功能强大的数据可视化工具之一,
ggplot2能够生成丰富的图形展示。
在ggpubr包内提供了一个名为stat_compare_means的函数,
在绘制箱线图的同时,
计算并标注t检验的p值,
并用星号 * 标记显著性水平。
list <- list(c("Normal","Tumor"))
AI助手
请建立一个对象列表用于比较分析。主要是为了对比评估肿瘤样本与健康样本之间的差异。
下面开始运行代码作图:
P <- ggplot(data,aes(x = data$Type,y = data$CCNB1))
## 搭建ggplot环境,aes里面x轴因为分类变量,y轴为基因表达值。
P
a <- P+geom_boxplot(varwidth = F)
a
AI助手
如下图:

下面对图片进行一下优化:
b <- P+geom_boxplot(stat = "boxplot",
width = 0.60,
notch = F,
varwidth = F,
fill = c("royalblue2","red"), ## 颜色可以根据喜好自己调整
outlier.colour = "black",
outlier.shape = NA,
outlier.size = 5)
b
c <- b+labs(title = "CCNB1", ## 研究的是哪个基因就写哪个基因
y = "CCNB1 (logCPM)", ## 研究的是哪个基因就写哪个基因
x = "")+theme_bw()
c
d <- c+stat_boxplot(geom = "errorbar",
width=0.25)+geom_jitter(width = 0.1,size = 0.01)
d
e <- d+ylim(min(data$CCNB1)-0.5,max(data$CCNB1)+1)+ ## 研究的是哪个基因就改成哪个基因
stat_compare_means(label = "p.signif",
comparisons = list,## 将上面创建的list传给comparisons
method = "t.test",
size = 6)
e
AI助手
下面红色框是可以改动的地方,具体看代码后面的注释:


对数据实施进一步优化工作后,所有代码无需修改即可直接运行至结束完成任务
z <- e+theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank())
z
y <- z+theme(plot.title = element_text(hjust = 0.5,size = 15),
axis.title.y.left = element_text(size = 15,face = "bold"))#### 设置纵坐标标题和主标题的大小,hjust设为0.5,表示将主标题居中。face = “bold”表示字体为粗体。
y### 设置x轴标签的大小以及粗细。
q <- y+theme(axis.text.y.left = element_text(size = 13,vjust = 0.5,hjust = 0.5,
angle = 90,colour = "black"),
axis.text.x.bottom = element_text(size = 13,angle = 45,vjust = 1,
hjust = 1,colour = "black"))
### hjust表示水平居中,vjust表示垂直居中,上面的标签旋转了90度,因此它是以y轴为水平线的,便用hjust。
q
AI助手
当系统界面出现时,默认配置已经满足基本需求。不过,在某些情况下(如界面美化阶段),您可以通过调整几个关键设置项来改善整体视觉效果。这些设置项包括但不限于:字体尺寸、加粗与斜体格式以及字体倾斜程度等其他因素。您可以根据个人偏好进行调节以达到最佳效果。
优化的箱线图如下所示:

使用R语言的export导出呈pdf矢量图:


个人习惯4:3英尺。
如若对其他色彩搭配感兴趣,则可查阅一篇之前发表的博客,在其中挑选适合的色调进行搭配即可。
<>
