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

时间:2021-03-31 20:07:33

标签: r rgraph stackedbarseries

我正在尝试绘制 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',
  ylim=c(0,max(All$V2)*1.1/NormFactor),
  col="dodgerblue3",
  beside = TRUE
)

par(new=T)
barplot(All2$V2/NormFactor2,names.arg=All2$V1,
yaxt='n',
ylim=c(0,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()

结果:

但我想要类似的东西:

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

0 个答案:

没有答案
相关问题