簡體   English   中英

在ggplot2的一個多部分圖中繪制四個圖

[英]Plotting four graphs in one multi-part plot in ggplot2

我有一組在五個區域具有等位基因頻率的SNP。

在每個圖上,Y軸是我感興趣區域的頻率,而X =軸是比較區域的頻率。 我有一些看起來像這樣的情節( http://imgur.com/a/jncAh )。 每個圖都有自己的輸入表。

我基本上想安排所有四個圖看起來像這樣( http://www.nature.com/nature/journal/v522/n7555/fig_tab/nature14507_SF2.html )(盡管沒有顏色或圖例)。 我想知道如何做到這一點。 謝謝!

這是我的我的R代碼

list.R<- c("EastAsia", "Europe", "Oceania", "SouthAsia")
for (i in list.R){
read.table(paste(i,"-Levant",".txt",sep=""), header = F) -> tbl
colnames(tbl)<-c("CHR", "SNP", "COORD", "CLST1", "MAF1", "CLST2", "MAF2")

require(ggplot2)
plot <- ggplot(data = tbl,aes(x = MAF1, y = MAF2)) + geom_point(size=1) + geom_abline(intercept = 0, slope = 1) + coord_fixed() +
  labs(x = paste("Allele frequency from ",i,sep=""),y = "Allele frequency from the Levant")

ggsave(plot=plot,height=8,width=8, filename=paste(i,"-Levant",".pdf",sep=""), useDingbats=FALSE)
plot(plot)
dev.off()
}

輸入表如下所示

1   rs16823303  2903159 EastAsia    0.2005  Levant  0.05822
1   rs2742689   2995262 EastAsia    0.04608 Levant  0.1507
1   rs12024620  3049362 EastAsia    0.04839 Levant  0.02055
1   rs12022170  3050221 EastAsia    0.04608 Levant  0.02083
1   rs75872291  3105766 EastAsia    0.125   Levant  0.003425
1   rs16823548  3140812 EastAsia    0.07834 Levant  0.04795

使用您的代碼很難提供示例,但是cowplot包正是針對您的用例編寫的。 這是介紹 請看“將圖形排列到網格中”部分。

我最終使用了multiplot() ,它似乎可以正常工作(盡管我不知道如何在圖上加上標題...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM