【问题标题】:Embedding a plot inside a pairs plot space image in R在 R 中的成对绘图空间图像中嵌入绘图
【发布时间】:2021-05-04 17:14:52
【问题描述】:

我有一个用 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 但它们中的任何一个似乎都可以工作,因为对并不是真正的单一情节。

有什么想法吗?

提前致谢

【问题讨论】:

    标签: r ggplot2 plot graph


    【解决方案1】:

    随机数据:

    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() 图存储为变量时遇到了一些麻烦,但我设法使用来自pryr 库的%<a-% 来做到这一点:

    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)
    

    【讨论】:

    • 非常感谢!它工作得很好!如果其他人有同样的问题,请注意视口功能属于需要打开的网格包。
    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2018-02-26
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    相关资源
    最近更新 更多