2013-08-26 11 views
6

Ho un diagramma a dispersione sfaccettato ggplot2 e desidero stampare le statistiche di riepilogo sulla regressione lineare su ogni sfaccettatura, come è stato fatto here e here. A differenza di questi esempi, sto usando scales="free", e gli intervalli dei dati in ogni facet sono piuttosto diversi, ma vorrei che le statistiche di riepilogo si presentassero nella stessa posizione relativa in ogni faccetta (ad esempio, in alto a destra, o qualsiasi altra cosa). Come posso specificare a geom_text o annotate che l'etichetta debba apparire nella stessa posizione relativa al pannello?Stampa i dati di correlazione nella stessa posizione di trama tra le faccette

Dove mi trovo ora:

# Fake data 
set.seed(2112) 
x <- c(1:10, 6:15) 
y <- x + c(runif(10), runif(10)*10) 
l <- gl(2, 10) 
d <- data.frame(x=x, y=y, l=l) 

# Calculate a summary statistic (here, the r-squared) in a separate data frame 
r_df <- ddply(d, .(l), summarise, rsq=round(summary(lm(y~x))$r.squared, 2)) 

# Use geom_text and a separate data frame to print the summary statistic 
ggplot(d, aes(x=x, y=y)) + 
    geom_text(data=r_df, aes(x=8, y=8, label=paste("rsq=", rsq)))+ 
    geom_point() + 
    facet_wrap(~l, scales="free") 

enter image description here

Vorrei, invece, di avere ggplot posizionare automaticamente il testo nella stessa posizione relativa in ogni sfaccettatura.

risposta

15

Se si desidera collocare loro relativa agli angoli, è possibile ottenere ciò specificando una posizione x o y di Inf o -Inf:

ggplot(d, aes(x=x, y=y)) + 
    geom_text(data=r_df, aes(label=paste("rsq=", rsq)), 
      x=-Inf, y=Inf, hjust=-0.2, vjust=1.2)+ 
    geom_point() + 
    facet_wrap(~l, scales="free") 

enter image description here

Ho anche aggiustato hjust e vjust così l'etichetta non era nell'angolo esatto del grafico allontanata un po 'da essa.

+0

Immagino che una soluzione più generale riguardi l'analisi della griglia grafica? –

+0

@DrewSteen Sarebbe necessario scavare nella griglia per la soluzione più generale poiché tutte le specifiche all'interno dell'area di stampa in ggplot sono specificate nello spazio dati e per la stessa posizione relativa si desidera specificarle nello spazio di visualizzazione. –

+0

Ci andrò se qualcuno mi mostrerà come! –

Problemi correlati