2015-09-08 14 views
5

il seguente scriptIstogramma con un tappeto nervosa

library(ggplot2) 
dat<-rnorm(80) 
dat<-data.frame(dat) 
p<-ggplot(dat, aes(x=dat))+geom_histogram() 
p<-p+geom_rug(sides="b", colour="blue") 
p 

rende questa bella immagine:

Histogram with a rug

Ma molte di quelle linee blu si sovrappongono. Mi piacerebbe aggiungere qualche jitter! Ho provato con:

p<-p+geom_rug(sides="b", position="jitter", colour="blue") 

Ma io sono dato un messaggio di errore:

stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this. Error: position_jitter requires the following missing aesthetics: y

Il y coordinate per un istogramma è il conteggio, che l'istogramma dovrebbe fare automagicamente.

Come posso ottenere i miei nervosismi?

risposta

6

Si può semplicemente dare ay di 0 in un aes chiamata, e sarà tracciare tutto ok:

p + geom_rug(sides = "b", aes(y = 0), position = "jitter", colour = "blue") 

utilizzando alcuni dei dati più evidenti:

dat <- c(rep(1, 50), rep(2, 50)) 
dat <- data.frame(dat) 

senza jitter:

enter image description here

Con jitter:

enter image description here