当我们要对一个多行多列的数据进行可视化的时候,分组条形图是一种不错的选择。

# 输入文件样式

本例中数据内容如下图所示,将其保存在名为 CAZy.Category.Matrix.txt 的文件中。

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 () 函数绘制条形图
Edited on Views times

Give me a cup of [coffee]~( ̄▽ ̄)~*

Hualin Liu WeChat Pay

WeChat Pay

Hualin Liu Alipay

Alipay