首页 > 解决方案 > 在 R 中的成对绘图空间图像中嵌入绘图

问题描述

我有一个用 ggplot2 制作的对图和一个条形图。我想知道是否可以将条形图嵌入到配对图的空间中。它看起来像这样:

在此处输入图像描述

这是两个图的代码:

#pairs plot

    pairs(pca$eigenvect[,1:4], labels = lbls, col=tab$pop, 
                lower.panel = NULL)

#barplot

    ggplot(head_eigen, aes(x=pcindex, y = varexp), group=1) +
      geom_bar(stat = "identity", width=0.6, fill="steelblue") +
      theme_minimal() +
      geom_point(color="darkblue")+
      geom_text(aes(label=varexp), vjust=-0.3, size=3.5)+
      geom_line(color="darkblue" ,group=1)+
      ylim(0,5)+
      ylab("Explained variance (%)") + xlab("Principle Component Number")

我已经尝试过ggplot函数annotation_customcowplot函数ggdraw,但它们中的任何一个似乎都可以工作,因为对并不是真正的单一情节。

有任何想法吗?

提前致谢

标签: rggplot2plotgraph

解决方案


随机数据:

pca = data.frame(e1=sort(rnorm(100, 0, 1)),e2=sort(rnorm(100, 0, 1)),e3=sort(rnorm(100, 0, 1)),e4=sort(rnorm(100, 0, 1)))

我在将绘图存储为变量时遇到了一些麻烦pairs(),但设法%<a-%pryr库中使用它:

library(pryr)
library(grid)
p1 %<a-% pairs(pca[,1:4],lower.panel = NULL)
p2 = ggplot(pca, aes(x=e1,y=e2)) + geom_point()
vp <- viewport(width = 0.4, height = 0.4, x = 0.25, y = 0.3)
print(p1)
print(p2, vp=vp)

在此处输入图像描述


推荐阅读