2016-01-04 9 views
5

Ich wechsle von ggplot2 1.0.1 und gridExtra 0.9.1 zu den neuesten Versionen dieser Pakete und kämpfe mit einigen kleineren Problemen im Moment.Haupttitel in grid.arrange oder arrangeGrob hat einen grauen Hintergrund

Ein Problem ist der Titel in einer kombinierten Handlung.

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) 

in der älteren Version wurde der Parameter main genannt und ich hatte print zu verwenden, um meine Grafiken a plotten. Jetzt, wenn ich den Graphen speichere, ist alles in Ordnung. Aber die plot(a) Grafik hat den hellgrauen Gitterhintergrund hinter der my title. In der gespeicherten PDF-Datei ist der Hintergrund wieder weiß.

Ich habe auch versucht, grid.arrange zu verwenden, aber ich möchte nicht das Diagramm direkt beim Ausführen drucken. Deshalb verwende ich den Zwei-Schritt-Ansatz, indem ich das Diagramm in einer Variablen und dann plot es speichern.

Also, wie bekomme ich einen weißen Hintergrund, wenn ?

Antwort

4

Verwenden Sie grid.draw. Die Methode plot dient nur zum Testen.

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

resulting plot

+0

hach, das ist nicht sehr intuitiv ... Aber ok, es funktioniert so. Die 'grid.newpage' wird empfohlen? Oder wann brauche ich es ?! Ich habe die "alte" Möglichkeit mit "print" geliebt, leider ist das nicht mehr möglich. – drmariod

+0

Ich stimme zu, dass "Plot" intuitiver ist. Ich wurde über die Verwendung von 'grid.draw' durch Baptiste erzogen, als ich nach dem Update fälschlicherweise" plot "als Ersatz für' print' empfahl. Sie benötigen 'grid.newpage', wenn Sie eine neue Seite wünschen. Andernfalls könnte dies auf einem vorhandenen Grid Plot erscheinen. – Roland

+2

btw Ich übernehme keine Verantwortung für diese Auswahl: 'grid.draw' ist die Standard-Grid-Konvention, während Plot und Print einmal von gitter/ggplot2 geerbt wurden, aber die gtable-Entwickler entschieden sich zu ändern. – baptiste