这可能是重复但我无法找到解决方案。 所以我希望绘制一个基因组区域的线图,下面有一个基因轨迹图。
我遇到的问题是x轴在两个图中都被链接,所以我最终丢失了线图和基因轨迹,如下图所示:
我正在使用的代码(示例数据)如下:
library(ggplot2)
library(ggbio)
library(TxDb.Hsapiens.UCSC.hg19.knownGene)
library(Homo.sapiens)
BOD<-matrix(c(1,8.3,"Group1",2,10.3,"Group1",3,19,"Group1",1,16,"Group2",2,17.6,"Group2",3,19.8,"Group2"),nrow=6,ncol=3,byrow=TRUE)
BOD<-data.frame(BOD)
names(BOD)<-c("Time","Demand","Category")
p1<-ggplot(BOD, aes(x=factor(Time), y=Demand, colour=Category, group=Category)) + geom_line()
p.txdb <- autoplot(Homo.sapiens, which = GRanges("chr1",IRanges(183800615, 183960615)))
tracks('Methylation'=p1,'Gene Track'=p.txdb)
我如何使用自己独立的x轴绘制两个图像?所以我可以看到两个情节。
答案 0 :(得分:0)
我们可以使用cowplot包:
# instead of autoplot use ggplot geom_alignment
p.txdb <- ggplot() +
geom_alignment(Homo.sapiens,
which = GRanges("chr1", IRanges(183800615, 183960615)))
# cowplot* to merge
cowplot::plot_grid(p1, p.txdb, nrow = 2,
labels = c("LinePlotLabel", "GeneTrackLabel"))
注意:请勿使用cowplot
加载library()
,它会更改默认主题。另请注意,我使用的是geom_alignment()
而不是autoplot()
。