当我们要对一个多行多列的数据进行可视化的时候,分组条形图是一种不错的选择。
# 输入文件样式
本例中数据内容如下图所示,将其保存在名为 CAZy.Category.Matrix.txt
的文件中。
# 绘图代码
在 Rstudio 中运行如下代码,细节可根据具体情况修改
library(ggplot2) | |
library(reshape) | |
windowsFonts(Arial=windowsFont("Arial")) #加载 Windows 字体 | |
setwd("E:/Researches/Xiaqian/NGS/CleanData/宏基因组数据/Result/NCyc") #设定工作目录 | |
cazy <- read.table("CAZy.Category.Matrix.txt",header = TRUE, sep = "\t") | |
cazy_melt <- melt(cazy) | |
names(cazy_melt) = c("Cazy", "Samples", "Abundances") | |
ggplot(cazy_melt,aes(x = Samples,y = Abundances))+ | |
geom_bar(stat = 'identity', #identity 是直接引用数据集中变量的值(表示不要计数,而是直接使用数据本身作为频数。) | |
aes(fill = Cazy), | |
position = position_dodge(0.9)) +#使柱子并排放置 | |
theme_classic()+ | |
theme(text=element_text(family="Arial",size=12,face = "plain"), #设置文字的字体字号 | |
axis.text.x = element_text(size=10)) + # 设置 X 轴文字大小 | |
scale_fill_manual(values=c("#1f77b4","#bcbd22","#2ca02c","#17becf","#9467bd","#e377c2")) # 设置填充颜色 |
# 参考
- R 语言 ggplot2 分组条形图
- geom_bar () 函数绘制条形图