【问题标题】:Use par inside another par在另一个 par 中使用 par
【发布时间】:2020-10-29 18:50:15
【问题描述】:

我不确定这是否可能,但我附上了一个我喜欢在 R 中而不是使用油漆的图形。

x=rnorm(10,4,5)
y=rnorm(10,4,5)

par(mfrow=c(2,1))
plot(x,y)

par(mfrow=c(1,3))
plot(x,y)
plot(x,y)
plot(x,y)

【问题讨论】:

    标签: r plot figure


    【解决方案1】:

    我假设您正在寻找一种类似基础的方式来执行此操作,但您也可以使用ggplot。以下是两种解决方案。

    library(grid)
    library(gridExtra)
    library(ggplot2)
    x=rnorm(10,4,5)
    y=rnorm(10,4,5)
    
    m <- matrix(c(1,1,1,2,3,4),nrow=2,byrow=TRUE)
    layout(m)
    
    plot(x,y)
    plot(x,y)
    plot(x,y)
    plot(x,y)
    
    p1 = ggplot(data.frame(x=x, y=y), aes(x, y))+geom_point()
    grid.arrange(p1, p1, p1, p1, layout_matrix = m)
    
    

    【讨论】:

    • 行得通!谢谢!有没有办法给底部 3 一个大标题或只使用中间的标题?
    • 一种方法是首先使用grid.arrange将底部3个ggplots和标题组合起来。然后,您可以将第一个图与组合图产生的图合并:p1 = ggplot(data.frame(x=x, y=y), aes(x, y))+geom_point(); p2 = grid.arrange(p1, p1, p1, nrow=1, top= textGrob(label='big tile', gp = gpar(fontsize = 20))); grid.arrange(p1, p2, ncol=1)
    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 2023-02-05
    相关资源
    最近更新 更多