如何从ggplot中检索内部信息/变量?

时间:2014-08-26 23:52:27

标签: r ggplot2

假设我使用以下代码制作了10000个随机点的直方图:

require(ggplot2)
data = data.frame(x = rnorm(10000))
ggplot(data, aes(x=x)) + geom_histogram()

histogram

现在我想绘制一条垂直线,指示第5000点的位置。也就是说,从最左边的箱子一直计数直到达到5000.在该位置添加一条垂直线。

要做到这一点,我需要来自geom_histogram()的信息,告诉我每个bin中有多少个点,然后我可以使用这个信息来计算第5000个点的位置。

有办法做到这一点吗?


更新

为了说明,这是一个例子。假设有小于0.1的4999个点和大于0.1的5000个点,因此0.1是第5000个点。假设它碰巧在bin [0,0.5]中。箱中有3个点,值为0.1,0.2,0.3。我不希望垂直线出现在x = 0.1的位置,但x =(0.5-0)*(1/3)= 0.167。

1 个答案:

答案 0 :(得分:0)

评论可能是相关的,因为不需要知道关于垃圾箱的任何信息来确定第5000个值的位置:

require(ggplot2); set.seed(42)  # to make reproducible
data = data.frame(x = rnorm(10000))
ggplot(data, aes(x=x)) + geom_histogram()+
       geom_vline(aes(xintercept=data$x[5000]) )

enter image description here

(我确实首先搜索了一个副本。)