R中ggplot2直方图中最常见的bin

时间:2016-05-10 08:27:10

标签: r ggplot2 annotations histogram

我正在使用ggplot2绘制一个取自正态分布的1000大小样本的直方图。我需要写一封信' A'在直方图的中心,并使用函数annotate执行此操作。

由于此向量是随机的,因此" center"每次运行代码时,绘图都会发生一些变化,因此我需要找到一种方法,使函数知道如何放置' A'根据那个特定的样本。对于x轴,我把样本的中位数作为Y轴,我考虑采用最频繁的bin的频率并除以2。

是否有人知道是否有一个函数可以为您提供每个垃圾箱的频率?

这是一个可重复的例子:

library(ggplot2)
set.seed(123)
x <- rnorm(1000)
qplot(x, geom="histogram")

1 个答案:

答案 0 :(得分:3)

这是一种获取输出图坐标的方法(在可重现的例子中):

String

这将为您提供有关直方图的各种信息。

所以要获得最频繁类的高度除以2,你只需要做

String firstA = new Character(A.charAt(0)).toString();
String a = A.replaceFirst(firstA, firstA.toUpperCase());

String firstB = new Character(B.charAt(0)).toString();
String b = B.replaceFirst(firstB, firstB.toUpperCase());

使用相同类型的信息,您也可以将文本始终放在图中间:

library(ggplot2)
x <- runif(10)
h <- qplot(x, geom="histogram")
ggplot_build(h)$data