备用标题:如何将直方图的y轴缩放到0-1范围内?
可怕的问题标题,这样的例子来证明。这里的数据被设置为使得范围几乎等于我在y轴上的数据范围...大约0到3.5。
library(ggplot2)
x<-runif(100)*200
y<-runif(100)*3
xy<-data.frame(x,y)
p <- ggplot(xy) + theme_bw()
p + geom_point(aes(x, y)) +
geom_histogram(aes(x), alpha=1/10)
我希望将直方图'y-range'缩放到最大值1. The first part of this answer显示一个示例,说:
你很接近,但需要使用(..density ..)* binwidth而不是 ..count ../总和(..计数..)
# Your data:
all <- data.frame(fill=rep(LETTERS[1:4],c(26,24,23,29)),
Events=c(1,1,3,1,1,6,2,1,1,2,1,1,1,1,5,1,2,2,1,1,1,1,2,1,2,1,2,3,1,3,2,5,1,1,1,2,1,1,1,1,1,1,1,1,1,4,3,3,5,3,1,2,2,3,3,9,8,1,1,2,2,1,2,39,43,194,129,186,1,2,7,4,1,12,3,2,3,8,20,5,1,4,9,51,12,7,6,7,7,9,17,18,8,7,6,10,27,11,21,89,47,1))
bw <- 20 # set the binwidth
# plot
p1<-ggplot(all,aes(x=Events, fill=fill)) +
geom_histogram(aes(y=(..density..)*bw), position='dodge', binwidth=bw)
p1
但它对我不起作用,没有关于没有变量'bw'的错误:
bw <- 30
p <- ggplot(xy) + theme_bw()
p + geom_point(aes(x, y)) +
geom_histogram(aes(x=x, y=..density.. * bw), alpha=1/10)
Error in eval(expr, envir, enclos) : object 'bw' not found
答案 0 :(得分:0)