将GGR图中直方图中的y轴规格化为比例
我有一个非常简单的问题,让我的头撞在墙上 我想缩放直方图的y轴,以反映每个箱子所占的比例(0:1),而不是使用y=…密度使条形图的面积总和为1。。是否或具有最高条为1,如y=…n计数。。是的 我的输入是名称和值的列表,格式如下:将GGR图中直方图中的y轴规格化为比例,r,plot,ggplot2,histogram,R,Plot,Ggplot2,Histogram,我有一个非常简单的问题,让我的头撞在墙上 我想缩放直方图的y轴,以反映每个箱子所占的比例(0:1),而不是使用y=…密度使条形图的面积总和为1。。是否或具有最高条为1,如y=…n计数。。是的 我的输入是名称和值的列表,格式如下: name value A 0.0000354 B 0.00768 C 0.00309 D 0.000123 我的一次失败尝试: library(ggplot2) mydataframe < read.delim(mydata) ggplot
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..))
谢谢您的帮助。请注意,
.ncount..
将最大值重新调整为1.0,而.count..
是非缩放的仓位计数
ggplot(mydataframe, aes(x=value)) +
geom_histogram(aes(y=..count../sum(..count..)))
其中:
从ggplot2 0.9开始,许多格式化程序功能已移到scales软件包中,包括
百分比\u格式()
库(ggplot2)
图书馆(比例尺)
mydataframe自最新和最大的ggplot2版本3.0.0起,格式已更改。现在,您可以将y
值包装在stat()
中,而不用处理。
内容
ggplot(mydataframe, aes(x = value)) +
geom_histogram(aes(y = stat(count / sum(count))))
我只是想缩放轴,将y轴除以1000,所以我做了:
ggplot(mydataframe, aes(x=value)) +
geom_histogram(aes(y=..count../1000))
这正是我想要的。你让我觉得自己像个白痴,我真的很感谢你!我不知道这样做是可能的。多亏了这个技巧,我能够使用aes(y=1-cumsum(…count.)/sum(…count.)
生成生存/可靠性(即1-CDF)直方图。感谢您的澄清!我想知道我的格式有什么问题…@CephBirkSuppose我还指定了一个fill=column
。count/sum(count)
是否按总数或每个填充组中的数字进行规范化?此答案解决了以下问题:。
ggplot(mydataframe, aes(x = value)) +
geom_histogram(aes(y = stat(count / sum(count))))
ggplot(mydataframe, aes(x=value)) +
geom_histogram(aes(y=..count../1000))