2013-02-19 6 views
12

Se guardate il grafico qui sotto (asse y), si noterà che la scala va da 0 a 0.20. Ho altri istogrammi in cui l'intervallo è compreso tra 0 a 0.4. Voglio fare tutti loro coerenti 0-1 e visualizzare l'asse y0-1.Come forzare un asse y all'intervallo minimo e massimo in R?

conne <- file("C:Aisdefined.bin","rb") 
sd <- readBin(conne, numeric(), size=4, n=1440*720, signed=TRUE) 
y  <- t(matrix((data=sd), ncol=1440, nrow=720)) 
r  <- raster(y) 
f  <- hist(y, breaks=10,main="sm") 

f$counts <- f$counts/sum(f$counts) 
dat <- data.frame(counts= f$counts,breaks = f$mids) 
ggplot(dat, aes(x = breaks, y = counts, fill =counts)) + 
    geom_bar(stat = "identity",alpha = 0.8) + 
    xlab("Pearson correlation")+ ylab("Frequency") + 
    scale_x_continuous(breaks = seq(-1,1,0.250), labels = seq(-1,1,0.250)) + 
    ggtitle("2011") + theme(axis.title.x = element_text(size = 20)) + 
    theme(axis.title.y = element_text(size = 20)) + 
    theme(text = element_text(size=20), 
    axis.text.x = element_text(angle = 90, vjust=1,colour="black"), 
    axis.text.y = element_text(colour="black")) + 
    theme(plot.title = element_text(size = rel(2.5))) + 
    scale_fill_gradientn(colours = "black") 
+1

Perché 'ggplot2' includono lo spazio al di sotto del valore di asse y 0, quando non ci sono punti di dati al di sotto 0? – SabreWolfy

risposta

18

Basta aggiungere:

+ coord_cartesian(ylim=c(0,1)) 
+0

Perché non semplicemente' ylim() '? – MERose

+0

Errore nei + coord_cartesian (ylim = c (0,005, 0,02)): valido argomento operatore unario –

+0

@MonaJalal Esso deve essere aggiunto a un oggetto ggplot, non utilizzando in isolamento. Era destinato all'aggiunta alle specifiche di trama originali degli OPs. – James

9

Prova questo:

scale_y_continuous(limits = c(0,1), expand = c(0,0)) 
+2

Attenzione: l'impostazione dei limiti su una scala può escludere i dati. – James

+0

@James anzi - mi mancava che il PO voleva solo l'asse y. Errore mio. E 'ancora valido per usare 'scale_y_continuous' in questo caso perché il suo un istogramma in modo valori saranno delimitate tra 0 e 1. –

Problemi correlati