如何在同一图上绘制一个堆叠图和一个条形图

问题描述

我正在尝试绘制 2 个并排图:一个蓝色和灰色堆叠在一起,另一个旁边是黄色。但是,当我运行我的代码时,黄色正在替换蓝色部分而不是走到一边

#Lendis_WithmiRNA.R
#2021-03-19

CurrPath <- dirname(rstudioapi::getSourceEditorContext()$path)
setwd(CurrPath)

args <- commandArgs(T)
Name <- args[1]
normFactor <- as.numeric(args[2])

Name <- "xzl.gga.1950.testis.wt.6wk.unox.rep1.small-RNA.trimmed.gz.x_rRNA.x_hairpin.galgal6v1.all.bed2"
Name2 <- "xzl.gga.1950.testis.wt.6wk.ox.rep1.small-RNA.trimmed.gz.x_rRNA.x_hairpin.galgal6v1.all.bed2"
normFactor <- 40.98913953
normFactor2 <- 25

AllName <- paste0(Name,".+hairpin.lendis")
NomiRNAName <- paste0(Name,".lendis")
AllName2 <- paste0(Name2,".+hairpin.lendis")


All <- read.table(AllName)
All2 <- read.table(AllName2)
NomiRNA <- read.table(NomiRNAName)
All <- subset(All,All$V1 >=18 & All$V1 <=36)
All2 <- subset(All2,All2$V1 >=18 & All2$V1 <=36)
NomiRNA <- subset(NomiRNA,NomiRNA$V1 >=18 & NomiRNA$V1 <=36)
Main1 <- Name

MiRNA <- All$V2 - NomiRNA$V2

#pdf(paste0(Name,".Lendis.pdf"),width = 12,height = 9)
barplot(
  All$V2/normFactor,names.arg=All$V1,xlab="Length (nt)",ylab='ppm',main=Main1,ylim=c(0,max(All$V2)*1.1/normFactor),col="grey",#beside = TRUE
)
par(new=T)
barplot(
  MiRNA/normFactor,names.arg=NA,#xlab="Length (nt)",#ylab='ppm',#main=Main1,yaxt='n',col="dodgerblue3",beside = TRUE
)

par(new=T)
barplot(All2$V2/normFactor2,names.arg=All2$V1,max(All2$V2)*1.1/normFactor2),col="yellow",beside = TRUE)

#mtext(paste0("normalization: ",normFactor))

legend(17,y=max(All$V2)*1/normFactor,legend = c("All","miRNA"),fill = c("grey","dodgerblue3"))
#dev.off()

结果:

但我想要类似的东西:

堆叠并并排的图形是我要找的

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)