ggballoonplot(气球图)是一种用于多分类数据展示的图形,图中每个单元格都包含一个点,其大小反映了相应样本的相对大小。如果我们平时看惯了柱状堆积图,不妨试试这个图形,也许会让你眼前一亮!今天,小编主要通过ggpubr包及ggplot2包展示两种绘制方法!
1、加载包
rm(list=ls())#clear Global Environment
setwd('D:\\桌面\\气球图')#设置工作路径
#加载包
library(ggpubr)
library(reshape2)
library(ggplot2)
2、加载数据
df <- read.table(file="Genus.txt",sep="\t",header=T,check.names=FALSE,row.names = 1)
head(df)
image.png
3、基于ggpubr包绘制
1)简单绘制
ggballoonplot(df)
image.png
2)个性化设置
color=c("blue", "white", "red")
ggballoonplot(df,
fill = "value", #气球填充颜色
ggtheme = theme_bw(),#画板主题
size = "value",#气球大小
color = "grey",#气球边框颜色
shape = 22,#shape可以改变显示形状
show.label = F)+#是否显示标签
scale_fill_viridis_c(option = "C")+
guides(size = FALSE)+#气球图例是否显示
scale_fill_gradientn(colors = color)#设置颜色
image.png
3)其他参数
ggballoonplot(
data,#数据集
x = NULL,#x轴向量
y = NULL,#y轴向量
size = "value",#气球大小依据
facet.by = NULL,#气球形状选择
size.range = c(1, 10),#气球大小选择范围
shape = 21,#气球形状
color = "black",#气球边框颜色
fill = "gray",#气球填充颜色
show.label = FALSE,#是否显示每个气球代表的具体大小
font.label = list(size = 12, color = "black"),#示每个气球代表的具体大小的字体设定
rotate.x.text = TRUE,#是否旋转标注字体
ggtheme = theme_minimal(),#画板主题
...)
4、基于ggplot2包绘制
1)数据处理
#转换数据
df$Tax=rownames(df)
df1=melt(df)
colnames(df1)=c("Tax","Samples","value")
2)绘图
plot(df1, aes(x = Samples, y = Tax, size = value, color=Samples)) +
geom_point(aes(size=value))+
theme(panel.background = element_blank(),
panel.grid.major = element_line(color = "gray"),#网格线条颜色
panel.border = element_rect(color="black",fill=NA))#边框色
image.png
**源码及数据在公众号后台回复获取!!!
网友评论