我有一个非常简单的问题,却让我头痛不已。
我想要将直方图的y轴缩放,以反映每个条柱所占比例(从0到1),而不是像使用y=..density..一样使条形的面积总和为1,或者像y=..ncount..一样使最高的条柱为1。
我的输入是一个格式如下的名称和值列表:
name value
A 0.0000354
B 0.00768
C 0.00309
D 0.000123
我的一个失败尝试:
library(ggplot2)
mydataframe < read.delim(mydata)
ggplot(mydataframe, aes(x = value)) +
geom_histogram(aes(x=value,y=..density..))
这使我得到一个总面积为1的直方图,但高度分别为2000和1000:
而y=..ncount..给我一个最高条形为1.0的直方图,并将其余部分缩放到它:
但我想让第一根条形的高度为0.5,其他两个高度为0.25。
R也无法识别这些对scale_y_continuous函数的使用。
scale_y_continuous(formatter="percent")
scale_y_continuous(labels = percent)
scale_y_continuous(expand=c(1/(nrow(mydataframe)-1),0)
感谢任何帮助。
aes(y=1-cumsum(..count..)/sum(..count..))
来生成一个生存/可靠性(即1-CDF)直方图。 - dnlbrky