2010-06-29 15 views
8

Così, quando faccio dei grafici a volte, vedo y che attraversa x in un certo offset. Ho generato questa figura utilizzando:Come faccio a fare in modo che l'asse y intersechi l'asse x a 0 in ggplot2?

ggplot(data=d2,aes(y=log10(Nems+1),x=Time)) + 
    geom_point(size=3,shape=1) +   
    geom_line(data=d2,aes(x=time_model,y=log10(value),group=variable,linetype=variable)) + 
    ylim(0.001,2) + no_bg + draw_axis 

Alla fine ho spostato manualmente la y in Illustrator. C'è un modo per farlo qui?

alt text http://img816.imageshack.us/img816/7633/testzh.png

+1

Qualcuno sa caldo per fare questo in grafo di base? – Henrik

risposta

6

Prova ad aggiungere questo alla vostra trama: + coord_cartesian(xlim = c(0, 90))

Questo dovrebbe limitare l'asse x per 0 a 90.

Si potrebbe anche fare + xlim(0, 90), che ha un effetto simile - ma rimuove anche tutti i dati al di fuori dei suoi limiti dal set di dati. Ciò può essere problematico se si sta tentando di eseguire lo zoom su feature di geoms che dovrebbero essere calcolate utilizzando l'intero set di dati (ad esempio, smooths) perché ricalcola quelle geom basate solo su ciò che è all'interno dei limiti. coord_cartesian() calcola tutte le geom dall'insieme di dati completo, quindi limita la finestra a ciò che si specifica.

+0

Perfetto, ha funzionato alla grande. Grazie! – Maiasaura

Problemi correlati