R绘图笔记 | 多数据系列的箱型图与带抖动散点的多数据系列箱型图

参考前文:R绘图笔记 | R语言绘图系统与常见绘图函数及参数

关于绘图,前面介绍了一些:

R绘图笔记 | 一般的散点图绘制

R绘图笔记 | 柱状图绘制

R绘图笔记 | 直方图和核密度估计图的绘制

R绘图笔记 | 二维散点图与统计直方图组合

R绘图笔记 | 散点分布图与柱形分布图

R绘图笔记 | 箱形图的绘制

R绘图笔记 | 小提琴图与漂亮的云雨图绘制

这里介绍小提琴图会漂亮的云雨图绘制,小提琴图在生信文章中很常见,云雨图我在文章中很少见到,但真的很漂亮,发表文章可以试试。

一.读入数据

如果你想获取该数据用于自己练习,下面是获取数据的地址:

https://docs.qq.com/sheet/DV3lUY3NodG5TdWFz

数据格式是这样的。

数据第A列是病人ID,B列样本信息(Trmor/Normal),其他列是病人的标准化后的基因表达数据。

你可以保存副本导出,然后自己读入。

library(ggplot2)
library(grid)
library(RColorBrewer)
library(tidyr)
data <- read.csv("BioInfoNotesData2.csv",row.names = 1)

取几个基因看看在正常和肿瘤组织中的表达情况。

f3.data <- data[,1:5]
colnames(f3.data) <- c("Sample","geneA","geneB","geneC","geneD")
head(f3.data)

数据整理

f3.data <- gather(f3.data,gene,value,geneA,geneB,geneC,geneD)
head(f3.data)

二.绘图

如果用我提供的数据,你选择的基因列不一样,和我的结果就不一样。

1.多数据系列的箱型图

ggplot(f3.data, aes(x = gene, y = value))+
  geom_boxplot(outlier.size = 1, aes(fill=factor(Sample)),
               position = position_dodge(0.8),size=0.5) +  
  guides(fill=guide_legend(title="Sample"))+
  theme_minimal()+
  theme(axis.title=element_text(size=13,face="plain",color="black"),
        axis.text = element_text(size=11,face="plain",color="black"),
        panel.background=element_rect(colour="black",fill=NA),
        panel.grid.minor=element_blank(),
        legend.position="right",
        legend.background=element_rect(colour=NA,fill=NA),
        axis.ticks=element_line(colour="black"))

2.带抖动散点的多数据系列箱型图

先处理一下数据

f4.data<-transform(f3.data,dist_cat_n=as.numeric(as.factor(gene)),
                scat_adj=ifelse(Sample == "Tumor",0.2,-0.2))


head(f4.data)

ggplot(f4.data, aes(x =gene, y = value))+
  geom_boxplot(outlier.size = 0, aes(fill=factor(Sample)),
               position = position_dodge(0.8),size=0.4) + 
  geom_jitter(aes(scat_adj+dist_cat_n, value,fill = factor(Sample)),
              position=position_jitter(width=0.1,height=0),
              alpha=1,
              shape=21, size = 0.5)+
  guides(fill=guide_legend(title="Sample"))+
  theme_minimal()+
  theme(axis.title=element_text(size=13,face="plain",color="black"),
        axis.text = element_text(size=11,face="plain",color="black"),
        panel.background=element_rect(colour="black",fill=NA),
        panel.grid.minor=element_blank(),
        legend.position="right",
        legend.background=element_rect(colour=NA,fill=NA),
        axis.ticks=element_line(colour="black"))

参考资料:

  1. R语言数据可视化之美,张杰/著

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【云森】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值