2012-02-01 18 views
12

Aggiunta di un asse y secondario, ridimensionato uno dell'asse y originale. Questo argomento non è nuovo. Sono stati toccati i tempi, ad esempio on this ggplot2 google groups thread. Seguendo il consiglio di Hadley, ho provato ad aggiungere l'asse y secondario per geom_vline, geom_segment e geom_text. Ma è ancora brutto.aggiungi un asse y secondario ai grafici ggplot2: rendilo perfetto

Quindi vorrei chiedere il vostro aiuto per renderlo perfetto. Penso che molti utenti di ggplot2 sarebbero interessati a questo argomento e preferirebbero qualsiasi esperienza o contributo. Grazie in anticipo.

######################################### 
# what I have gotten. 
library(ggplot2) 

# build up a box plot 
p <- ggplot(mtcars, aes(factor(cyl), mpg)) 

# add the secondary y axis on right side of the plot 
p + geom_boxplot() + geom_vline(xintercept = 3.5) + 
geom_segment(aes(x=3.49, y=c(7,14,21,28), xend = 3.52, yend = c(7,14,21,28))) + 
geom_text(aes(x=3.55, y=c(7,14,21,28), label=c(7,14,21,28))) 
+0

In genere non è consigliabile utilizzare secodary asse y ... – jrara

+1

dispiace quello che voglio è in realtà non è un asse y secondario, è solo un'etichetta. Questa etichetta è necessaria, a volte. –

+0

Potresti voler modificare la tua domanda per riflettere sul fatto che desideri un'etichetta extra. Ho appena fatto una domanda simile, ma specifica per il contesto di sfaccettatura: http://stackoverflow.com/questions/11353287/how-do-you-add-a-general-tobelfacto-in-ggplot2 –

risposta

2

Per evitare l'hacking, è possibile utilizzare facet_grid. A seconda dei tuoi dati, puoi personalizzarli abbastanza bene, per trasformarli in un asse secondario più generale.

library(ggplot2) 
ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot() + 
    facet_grid(cyl ~., scales = "free") 

enter image description here

+1

Grazie mille, Dear Geek On Acid. Questa è un'opzione. Ma non è quello che voglio. Nel mio caso reale, ho più di 50 livelli di asse x. È molto difficile per i nostri occhi vedere una trama con> 50 sfaccettature. –

Problemi correlati