2016-09-20 1 views
0

Ich habe ein paar einfache Plots mit ggplot2 gemacht und sie mit (aus Paket grid.extra) gruppiert, um die Plots in einer einzelnen Figur zu verbinden. Ich schaffe den Titel über die grid.arrange() Funktion mit dem Argument top, wie unten:Titel Hintergrund mit grid.arrange() von ggplot Objekten

library(ggplot2) 
library(gridExtra) 

...

tiff("Figure5.tiff", 
    height = 20, width = 16, units = "cm", 
    compression = "lzw", res = 300) 
Fig5 <- grid.arrange(plot5, plot5Ran, ncol = 2, 
        top = textGrob("Comparison of Correlation Output", 
            gp = gpar(fill='snow'))) 

plot(Fig5) 
dev.off() 

Partial screenshot, background of title is same as plot, rather than white margin

Doch wie Sie auf dem Teil Screenshot sehen oben, der Hintergrund des Titels (der Teil des Bildes am oberen Rand der Figur, hinzugefügt durch das Argument top, bekommt den Hintergrund vom ggplot Thema anstatt weiß wie das ma rgins. Ich habe versucht, mit Argument fill, aber ohne Wirkung.

Wie bekomme ich den Titel über einen weißen Hintergrund? Ich weiß, dass mit facets wäre einfacher und vermeiden Sie grid.arrange, aber es macht keinen Sinn in diesem Fall. Ich denke, dass ich auch das Thema ggplot auf weiß setzen konnte, aber das ist in diesem Fall keine Option. Danke

+0

, wenn Sie einige reproduzierbaren Daten liefern wird es einfacher für uns zu spielen mit ihm zu helfen –

+0

wird es auch helfen, wenn Sie den tatsächlichen Code zur Verfügung stellen, um plot5 und plot5Ran –

+0

auch generieren, '' top =) '' das scheint nicht korrekt ... wahrscheinlich nicht beziehen zu Ihrem Problem, obwohl ... Auch, mit erfundenen Daten (Iris) konnte ich nicht o reproduzieren Sie Ihr Problem. Es würde auch helfen, wenn du deine "SessionInfo" postest. Weitere Hilfe zum Bereitstellen reproduzierbarer Beispiele finden Sie unter [hier] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) –

Antwort

2

Wie Benutzer20650 vorgeschlagen, war es ein Druckproblem. Beide Optionen unten funktionieren.

zuerst die Figur als R-Objekt und die TIFF-Datei zu speichern:

tiff("Figure5X.tiff", 
    height = 20, width = 16, units = "cm", 
    compression = "lzw", res = 300) 
Fig5 <- grid.arrange(plot5, plot5Ran, ncol = 2, 
        top = "Comparison of Correlation Output") 
Fig5 
dev.off() 

Oder Speichern der TIFF-Datei nur, wie von user20650 vorgeschlagen:

tiff("Figure5Y.tiff", 
    height = 20, width = 16, units = "cm", 
    compression = "lzw", res = 300) 
    grid.arrange(plot5, plot5Ran, ncol = 2, 
        top = "Comparison of Correlation Output") 
dev.off() 
Verwandte Themen