2016-01-04 16 views
5

私はggplot2 1.0.1gridExtra 0.9.1からこれらのパッケージの最新バージョンに切り替わりました。grid.arrangeまたはarrangeGrobのメインタイトルは灰色の背景を持っています

1つの問題は、結合されたプロットのタイトルです。古いバージョンで

library(ggplot2) 
library(gridExtra) 
df <- data.frame(x=runif(100), y=runif(100)) 
p1 <- ggplot(df, aes(x,y)) + geom_point() 
p2 <- ggplot(df, aes(x,y)) + geom_point() 
a <- arrangeGrob(p1,p1,p2, layout_matrix=rbind(c(1,2),c(1,3)), top='my title') 
plot(a) 
ggsave('a.pdf', a) 

、パラメータがmainと呼ばれていましたし、私は私のグラフィックaをプロットするためにprintを使用する必要がありました。今、私がグラフを保存すると、すべてが問題ありません。しかし、plot(a)グラフは、my titleの背後に明るい灰色のグリッド背景があります。保存されたPDFファイルでは、バックグラウンドは再び白です。

私もgrid.arrangeを使用しようとしましたが、実行時にプロットを直接印刷したくありません。なぜ私は2つのステップのアプローチを変数にグラフを保存して使用し、その後plotそれを使用します。

だから、plot(a)の場合、どうすれば白い背景が得られますか?

答えて

4

grid.drawを使用してください。 plotメソッドはテスト用です。

library(grid) 
grid.newpage() 
grid.draw(a) 

resulting plot

+0

ハック、非常に直感的ではないthatsの...しかし、[OK]を、それはこのように動作します。 'grid.newpage'はお勧めですか?それともいつ必要なのですか?私は 'print'を使って"古い "可能性を愛しましたが、残念ながらこれはもはや不可能です。 – drmariod

+0

私は、 'plot'がより直感的であることに同意します。私は誤って 'print'の代わりに' plot'を勧告したときにバプティストが 'grid.draw'を使っていることについて教育しました。新しいページが必要な場合は 'grid.newpage'が必要です。それ以外の場合は、既存のグリッドプロットの上に印刷されることがあります。 – Roland

+2

btw私はこれらの選択肢に対して責任を負いません:grid.drawは標準的なグリッド規則ですが、plotとprintはlattice/ggplot2から継承されましたが、gtable開発者は変更を決定しました。 – baptiste

関連する問題