Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将GGR图中直方图中的y轴规格化为比例_R_Plot_Ggplot2_Histogram - Fatal编程技术网

将GGR图中直方图中的y轴规格化为比例

将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

我有一个非常简单的问题,让我的头撞在墙上

我想缩放直方图的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(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))