Bir histogramı (veya stat_bin
kullanarak bir adım çizim) görüntülemek ve geom_point
kullanarak üzerinde bir kaç nokta kaplamak için ggplot
kullanmak wan.Bir geom_histogram veya stat_bin üzerinde geom_points overlaying
library(plotrix)
set.seed(10)
df <- data.frame(id=LETTERS,val=rnorm(length(LETTERS)))
selected.ids <- sample(LETTERS,3,replace=F)
h <- hist(df$val,plot=F,breaks=10)
cols <- sapply(rainbow(length(selected.ids)),function(x) color.id(x)[1])
selected.df <- data.frame(id=selected.ids,col=cols,stringsAsFactors=F)
selected.df$x <- df$val[which(df$id %in% selected.ids)]
selected.df <- selected.df[order(selected.df$x),]
selected.df$y <- h$counts[findInterval(selected.df$x,h$breaks)]
selected.df$col <- factor(selected.df$col,levels=cols)
plot(h)
segments(x0=selected.df$x,x1=selected.df$x,y0=selected.df$y,y1=selected.df$y,cex=18,lwd=8,col=selected.df$col)
verir:
Ancak ggplot
çalıştığınızda:
ggplot(df,aes(x=val))+geom_histogram(bins=10,colour="black",alpha=0,fill="#FF6666")+geom_point(data=selected.df,aes(x=x,y=y,colour=factor(col)),size=2)+scale_fill_manual(values=levels(selected.df$col),labels=selected.df$id,name="id")+scale_colour_manual(values=levels(selected.df$col),labels=selected.df$id,name="id")
puan ve histogram yanlış hizalanmış şunlardır: Burada
birbase
uygulama varHemen hemen
geom_histogram
gibi
ggplot(df,aes(x=val))+stat_bin(geom="step",bins=10)+geom_point(data=selected.df,aes(x=x,y=y,colour=factor(col)),size=2)+scale_fill_manual(values=levels(selected.df$col),labels=selected.df$id,name="id")+scale_colour_manual(values=levels(selected.df$col),labels=selected.df$id,name="id")
görünüyor ama aynı zamanda ben de almak istiyorum:
İdeal bir adım arsa kullanarak çizmek istiyorum satırın uçları y = 0 çizgisine dokunun.
Bu yüzden stat_bin kullanarak bir adım çiziminde doğru şekilde alıyorum?