【零基础学绘图】之气泡图绘制(六)
发稿时间:2020-05-29来源:天昊生物
气泡图是R语音中的基础绘图,可用于展示三个变量之间的关系的图表,将一个变量放在x轴,另一个变量放在y轴,而第三个变量则用气泡的大小来表示。通常用于展示差异基因的表达情况、转录因子的分析、物种丰度数据的可视化、富集分析展示等。这里我们介绍2种绘制气泡图的方法:ggpubr绘制气泡图
和 ggplot 绘制气泡图 。
一ggpubr绘制气泡图
1. 加载ggpubr包
In [1]:
2. 数据读取由于表头是数字,需要添加参数check.names = FIn [2]:
-
df = read.table('phylum_taxon_abundance.xls',header = T,row.names = 1,check.names = F)
-
head(df)
Out[2]:
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
-
Proteobacteria 126573 92545 83038 75739 103697 116154 73868 76555 47648 61165 90984 86653 111958 95141 92972 102300
-
Actinobacteria 12759 10186 50860 32437 34212 21024 64078 52398 46109 38587 46147 46310 46780 50249 32803 29345
-
Bacteroidetes 18428 25557 16559 22848 7046 23059 4974 8066 4984 15941 14064 12966 10931 5047 14100 27364
-
Acidobacteria 16566 26529 6636 16079 7563 10637 8352 11404 11755 7008 8292 9372 6405 5773 10853 6738
-
Chloroflexi 6665 11038 12520 20040 22476 4146 23314 26628 32961 30103 14238 11799 9819 15672 7421 6116
-
Firmicutes 6033 13830 21344 3293 18031 10253 12822 5480 35773 6208 13005 20341 7953 21295 19200 12794
3. 气泡图绘制3.1 绘制不带参数的气泡图In [3]:
Out[3]:
3.2 添加和填充颜色In [4]:
-
ggballoonplot(df, color = "red", fill = "blue")
Out[4]:
3.3 按照值的大小填充颜色,并制定气泡图形状In [5]:
-
ggballoonplot(df, fill = "value", shape =21 ,) + gradient_fill(c("blue", "white", "red"))
Out[5]:
3.4 填充数值show.label =F 默认不填充数值, show.label =T 填充数值选择size参数固定图形大小In [6]:
-
ggballoonplot(df, fill = "value", color = "lightgray",size = 3, show.label =F)+ gradient_fill(c("blue", "white", "red"))
Out[6]:
二ggplot2绘制气泡图
1. 加载ggplot2包In [7]:
2. 数据预处理stack是堆栈的意思,默认按列堆数据In [8]:
-
data = stack(df)
-
colnames(data) = c('Abundance','sample')
-
head(data)
Out[8]:
-
Abundance sample
-
126573 1
-
12759 1
-
18428 1
-
16566 1
-
6665 1
-
6033 1
In [9]:
-
data$phylum = rep(rownames(df), times = ncol(df))
-
head(data)
Out[9]:
-
Abundance sample phylum
-
126573 1 Proteobacteria
-
12759 1 Actinobacteria
-
18428 1 Bacteroidetes
-
16566 1 Acidobacteria
-
6665 1 Chloroflexi
-
6033 1 Firmicutes
添加分组信息,本次分析将16个样品分为2组,组名分别未A、BIn [10]:
Out[10]:
-
'1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' '14' '15' '16'
In [11]:
Out[11]:
In [12]:
Out[12]:
-
'Proteobacteria' 'Actinobacteria' 'Bacteroidetes' 'Acidobacteria' 'Chloroflexi' 'Firmicutes' 'Verrucomicrobia' 'Planctomycetes' 'Gemmatimonadetes' 'Candidatus_Saccharibacteria' 'Thaumarchaeota' 'Armatimonadetes' 'Euryarchaeota' 'candidate_division_WPS-1' 'Cyanobacteria/Chloroplast' 'Chlamydiae' 'Nitrospirae' 'Ignavibacteriae' 'Latescibacteria' 'candidate_division_WPS-2' 'Microgenomates' 'Elusimicrobia' 'Spirochaetes' 'Aminicenantes' 'Woesearchaeota'
In [13]:
Out[13]:
In [14]:
-
group = rep(c('A','B'),each = 25*16/2)
-
length(group)
Out[14]:
In [15]:
In [16]:
Out[16]:
-
Abundance sample phylum group
-
126573 1 Proteobacteria A
-
12759 1 Actinobacteria A
-
18428 1 Bacteroidetes A
-
16566 1 Acidobacteria A
-
6665 1 Chloroflexi A
-
6033 1 Firmicutes A
3. 气泡图绘制
In [16]:
-
ggplot(data, aes(x = sample, y = phylum, size = Abundance, colour = group)) + geom_point() +
-
theme_bw() +scale_size(range = c(0,6)) + labs(x = "Sample", y = "")
Out[17]:
往期相关链接:
1、R基础篇
excel不熟练怎么办,R来帮您(一)数据分类汇总;
如何使用Rstudio练习R基础教程;
R相关软件及R包安装;
【零基础学绘图】之绘制venn图(五);
【零基础学绘图】之绘制barplot柱状图图(四);
【零基础学绘图】之绘制heatmap图(三);
【零基础学绘图】之绘制PCA图(二);
【零基础学绘图】之alpha指数箱体图绘制(一);
2、R进阶
【绘图进阶】之交互式可删减分组和显示样品名的PCA 图(三);
【绘图进阶】之绘制PCA biplot图(二);
【进阶篇绘图】之带P值的箱体图、小提琴图绘制(一);
3、数据提交
3分钟学会微生物多样性云平台数据分析;
3分钟学会CHIP-seq类实验测序数据可视化 —IGV的使用手册;
10分钟搞定多样性数据提交,最快半天内获取登录号,史上最全的多样性原始数据提交教程;
20分钟搞定GEO上传,史上最简单、最详细的GEO数据上传攻略;
4、表达谱分析
表达谱分析(二)通路富集分析和基因互作网络图绘制;
如何对GEO数据进行差异分析;
5、医学数据分析
KING: 样本亲缘关系鉴定工具;
【WGS服务升级】人工智能软件SpliceAI助力解读罕见和未确诊疾病中的非编码突变;
隐性疾病trio家系别忽视单亲二倍体现象——天昊数据分析助力临床疾病诊断新添UPD(单亲二倍体)可视化分析工具;
【昊工具】Oh My God! 太好用了吧!疾病或表型的关键基因查询数据库,我不允许你不知道Phenolyzer;