1. ホーム
  2. r

[解決済み] gridExtrasのgrid.arrangeが更新後に "globs' only allowed in 'gList'"で終了してしまう。

2022-02-04 21:30:25

質問

R、R Studio、そして私のMac上のggplot2やgridExtrasなどのパッケージの多くをアップデートしました。現在、gridExtrasが基本的なプロットでエラーとなり失敗します。

"gList"" では 'grobs' のみ許可されています。

以下は、うまくいくはずなのにうまくいかないコードです。

library(ggplot2)
p1 = qplot(1:10,rnorm(10))
p2 = qplot(1:10,rnorm(10))
library(gridExtra)
grid.arrange(p1, p2, ncol=2, main = "Main title")

これは次のようなエラーをダンプアウトします。

Error in gList(list(grobs = list(list(x = 0.5, y = 0.5, width = 1, height = 1,  : 
  only 'grobs' allowed in "gList"
In addition: Warning message:
In grob$wrapvp <- vp : Coercing LHS to a list

どんなことでもご相談ください。

解決方法は?

それは grid.arrange を持たない。 main パラメータがなくなった(2015年夏ごろの2.0.0リリースで廃止されたようです)ため、そのように考えています。 main= パラメータはgrobでなければなりません。を置き換えるには main を使用することができます。 top パラメータが追加されました(さらに bottom , left および right ).

だから、これは例えば、動作する。

library(ggplot2)
p1 = qplot(1:10,rnorm(10))
p2 = qplot(1:10,rnorm(10))

library(gridExtra)
grid.arrange(p1, p2, ncol=2,top="Main Title")

このメッセージは少し分かりにくいですが、それは、知らないパラメータをすべて見て、それらが次のようなものだと仮定しているからです。 grobs (グラフィカル・オブジェクト)をプロットすることができます。このような紛らわしいエラーメッセージは、その柔軟性の代償と言えます。

注意:- もし、たくさんの grobs を使用する場合は、それらをすべてリストにまとめてフォームを使用することを検討する必要があります。

grid.arrange( grobs = list(p1,p2,...),...

その上のコードの結果は以下の通りです。