如何在同一图中将一个数据集映射到左下xy轴,将另一个数据集映射到右上xy轴?

时间:2019-03-28 15:39:04

标签: r ggplot2

我正在尝试将两个数据集放到同一图中。我希望将一个数据集映射到左下角的xy轴,将另一个数据集映射到右上角的xy轴。

# Bottom-Left data set
PCscores <- data.frame(sample = paste("sample",1:10,sep="_"), 
                       PC1 = c(-9,-8,-10,0,1,2,18,20,19,21),
                       PC2 = c(-8,-9,-10,2,0,1,21,19,18,19))


# Upper-Right data set
loadings <- data.frame(snps = letters[1:4], 
                       pc1 = c(0.7,0.8,-0.5,-1), 
                       pc2 = c(0.8,0.7,-1,-0.7),
                       FROM=0,
                       TO=0)

如果我尝试将它们放在一起,则两个数据集都将映射到左下xy轴。

ggplot(data = PCscores, aes(PC1,PC2)) + 
  geom_point() +
  geom_segment(data = loadings, 
               aes(x = FROM, y = TO, xend = pc1, yend = pc2), arrow = arrow())

ggplot2中可以进行这种“双重”映射吗?如果不能,那么也欢迎使用基本的R解决方案。

0 个答案:

没有答案