2009-08-06 23 views
6

Se creo una finestra di disegno in R con m righe e n colonne, come posso assegnare all'elemento grafico "generale" un titolo principale?Titolo generale per la finestra di stampa

Ad esempio, potrei avere tre schemi di dispersione che mostrano la relazione tra punteggio GPA e SAT per 3 scuole diverse. Come potrei assegnare un titolo principale a tutti e tre i lotti, ad esempio "Punteggio SAT rispetto a GPA per 3 scuole in CA"?

risposta

10

I metodi più ovvi che mi vengono in mente sono l'uso di Lattice o ggplot2. Ecco un esempio di utilizzo del reticolo:

library(lattice) 
depthgroup<-equal.count(quakes$depth, number=3, overlap=0) 
magnitude<-equal.count(quakes$mag, number=2, overlap=0) 
xyplot(lat ~ long | depthgroup*magnitude, 
data=quakes, 
main="Fiji Earthquakes", 
ylab="latitude", xlab="longitude", 
pch=".", 
scales=list(x=list(alternating=c(1,1,1))), 
between=list(y=1), 
par.strip.text=list(cex=0.7), 
par.settings=list(axis.text=list(cex=0.7))) 

In lattice si modifica il parametro main =.

L'esempio precedente è stato rimosso da here.

Non ho un buon esempio di ggplot2, ma ci sono una metrica di esempi con ggpolot2 sopra allo learn r blog.

Una possibilità potrebbe essere this example dove usano ggplot2 e

opts (title = "RSS and NINO3.4 Temperature Anomalies \nand SATO Index Trends Since 1980") 

Ma si dovrebbe avere tutti e tre i grafici creati in gg2plot, naturalmente.

Penso che dovresti stare bene con lattice o ggplot2.

+0

MERAVIGLIOSO !!!! Grazie!!!! –

+0

quanto è un metricassone? :) – dalloliogm

+0

Che cosa intendi quando dici che ggplot2 non supporta le etichette degli assi secondari? Puoi personalizzarli quando imposti la scala, ad es. scale_y_continous ('etichetta dell'asse y'). – dalloliogm

13

Utilizzando il sistema grafico tradizionale, qui ci sono due modi:

(1)

par(mfrow=c(2,2)) 
for(i in 1:4) plot(1:10) 
mtext("Title",side=3,outer=TRUE,padj=3) 

(2)

par(mfrow=c(2,2)) 
for(i in 1:4) plot(1:10) 
par(mfrow=c(1,1),mar=rep(0,4),oma=rep(0,4)) 
plot.window(0:1,0:1) 
text(.5,.98,"Title") 
+0

Anche questa è un'ottima risposta e non richiede ggplot2 o reticolo. –

+0

Meraviglioso, stavo solo cercando quello - grazie! –

Problemi correlati