在R中创建堆积条形图

时间:2016-10-20 20:46:23

标签: r bar-chart stacked

我正在从excel转移到R以创建更好的图,我正在研究在R中创建堆叠条形图,显示每个样本的一个堆栈中的三列Percent.Exonic,Percent.Intronic和Percent.Intergenic。 这些堆栈图的值加起来为100。 我的数据集中的这三列之后有多列。

我有大型数据集,看起来像这样(我从文本文件读到表格) -

Sample_ID   Gene_ID  Percent.Mapped.Reads   Percent.Exonic  Percent.Intronic    Percent.Intergenic Col7 Col8 Col9 Col10
AAl 79.46  ABC  85  10  5 . . .
AA2 83.39  X82 96   2   2 . . . 
AAL3     AB9292  91.89  90  5   5 . . . 
AAL5    uw20  89.34 90  0   10
PBS1    wiw0  82.4  88  2   12
PBS3    vh27  81.88 100 0   0
Imr90_Rep2_54   eg282 92.29 100 0   0
Imr90_Rep2_72   yrt363 90.62    100 0   0

[![在此处输入图片说明] [1]] [1]有人可以分享一下如何获得包含所有样品的情节吗?

到目前为止我有这个代码,但是我很困惑,因为之前关于这个主题的帖子很少使用as.matrix? -

alignment <- read.table("Alignment.txt")
barplot(alignment,
    names.arg = alignment,
    cex.names = 0.7, 
    col = sequential, 
    xlab = "Samples",
    ylab = "Percent mapped",
    xlim = c(0,20), 
    width = 1))

谢谢!

1 个答案:

答案 0 :(得分:0)

我根据以前的帖子之一开始工作 -

    Data <- subset(Input, select=c(1,7,8,9)) # Row required columns 
    data_m <- melt(Data)

   ggplot(dat_m, aes(data_m$Sample_ID, value, fill = variable)) + 
      geom_bar(stat = "identity") + 
      xlab("Chr") + 
      ylab("Number of SNPs")+ theme(axis.text.x = element_text(angle = 90, hjust = 0)

     })

以下是原始帖子 - how can I make stacked barplot with ggplot2