咨询热线:400-065-6886
首页>>技术支持>>科研进展

【零基础学绘图】之气泡图绘制(六)

 
气泡图是R语音中的基础绘图,可用于展示三个变量之间的关系的图表,将一个变量放在x轴,另一个变量放在y轴,而第三个变量则用气泡的大小来表示。通常用于展示差异基因的表达情况、转录因子的分析、物种丰度数据的可视化、富集分析展示等。这里我们介绍2种绘制气泡图的方法:ggpubr绘制气泡图 和 ggplot 绘制气泡图 。


 

 

ggpubr绘制气泡图

1. 加载ggpubr包

In [1]:

library(ggpubr)
 
2. 数据读取

由于表头是数字,需要添加参数check.names = F

In [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]:

ggballoonplot(df)

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]:

library(ggplot2)
 
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、B

In [10]:

colnames(df)

Out[10]:

'1' '2' '3' '4' '5' '6' '7' '8' '9' '10' '11' '12' '13' '14' '15' '16'

In [11]:

length(colnames(df))

Out[11]:

16

In [12]:

rownames(df)

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]:

length(rownames(df))

Out[13]:

25

In [14]:

group = rep(c('A','B'),each = 25*16/2)
length(group)

Out[14]:

400

In [15]:

data$group = group

In [16]:

head(data)

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
 

 

【本群将为大家提供】

分享生信分析方案

提供数据素材及分析软件支持

定期开展生信分析线上讲座

QQ号:1040471849

 
 

作者:大熊

审核:有才

来源:天昊生信团

 

夏天吹个泡泡?不,我们画个泡泡吧。
 

 

 

微信扫一扫
关注该公众号

 

 




上海昊为泰生物科技有限公司 版权所有 沪ICP备18028200号-1
地址:上海市浦东新区康桥路787号9号楼 邮箱:techsupport@geneskies.com 电话:400-065-6886