2016-03-14 9 views
6

Aufgrund der Privatsphäre der Daten, verwende ich mtcar Datensatz in ggplot2, um meine Frage zu erklären.Titel unter der Grafik mit vier Plots in ggplot hinzufügen

Es gibt vier Stellplätze:

g1 <- ggplot(mtcars,aes(mpg,wt)) + geom_point() 
g2 <- ggplot(mtcars,aes(mpg,disp)) + geom_point() 
g3 <- ggplot(mtcars,aes(mpg,drat)) + geom_point() 
g4 <- ggplot(mtcars,aes(mpg,qsec)) + geom_point() 

ich diese vier Parzellen in einem Diagramm setzen wollen, so verwende ich grid.arrange() Funktion im Paket grid.Extra:

grid.arrange(g1,g2,g3,g4,ncol=2) 

raw graph

Und jetzt , Ich möchte Titel unter jedem Diagramm in diesem Diagramm hinzufügen, etwas wie das Bild unten (ich habe es in Word geändert, so ist es nicht schön) modified pic , bevor er frage ich in SO gesucht habe, und ich weiß, wie Titel unter einer Zeichnung hinzuzufügen, zum Beispiel verwenden grid.text() oder diese drei Verfahren Displaying text below the plot generated by ggplot2 oder element_text(vjust=-10), aber ich kann es nicht auf vier Parzellen in einem Diagramm anzuwenden. Inzwischen habe ich einige Ergebnisse in Basis-Grafik How to add a title to each plot in R? oder Common main title of a figure panel compiled with par(mfrow), die Frage ist, dass ich es in ggplot2 führen will und der Titel ist unter jedem Diagramm, wie kann ich es implementieren? Vielen Dank!

+0

Etwas nach dem Vorbild dessen, was Bob Rudis? https://twitter.com/hrbrmstr/status/709069752879214592 –

+0

@ RomanLuštrik Vielen Dank, aber der Titel ist immer noch auf der Spitze der Handlung, was Bob verwendet, sind Titel und Untertitel –

Antwort

7

Sie jedes Grundstück mit arrangeGrob ersten

, wickeln konnte tat
g1 <- g2 <- g3 <- g4 <- ggplot() 
titles = LETTERS[1:4] 
plots = mapply(arrangeGrob, list(g1,g2,g3,g4), 
       bottom = titles, SIMPLIFY=FALSE) 
grid.arrange(grobs = plots, ncol=2) 

enter image description here

+0

Erstaunlich, Sie haben diese Frage hervorragend gelöst, aber ich immer noch frage mich, warum das 'ggplot'-Paket nicht über die Methode verfügt, Titel direkt unterhalb des Diagramms hinzuzufügen –