1. ホーム
  2. r

[解決済み] grid.arrangeを使って、プロットの可変リストをどのように配置しますか?

2022-12-14 17:25:53

質問

library(ggplot2)
df <- data.frame(x=1:10, y=rnorm(10))
p1 <- ggplot(df, aes(x,y)) + geom_point()
plist <- list(p1,p1,p1,p1,p1)
# In my real example,a plot function will fit a ggplot to a list of datasets 
#and return a list of ggplots like the example above.

を使ってプロットを並べたいと思います。 grid.arrange()gridExtra .

のプロットの数が多い場合、どのようにすればよいのでしょうか? plist のプロット数が可変である場合、どのようにすればよいでしょうか?

これは動作します。 grid.arrange(plist[[1]],plist[[2]],plist[[3]],plist[[4]],plist[[5]])

しかし、私はより一般的なソリューションが必要です。

どのように解決するのですか?

こんなのはどうでしょう。

library(gridExtra)
n <- length(plist)
nCol <- floor(sqrt(n))
do.call("grid.arrange", c(plist, ncol=nCol))

<イグ