gpt4 book ai didi

r - 我如何优先考虑从 geom_histogram 获得的 y 比例?

转载 作者:行者123 更新时间:2023-12-03 16:35:59 25 4
gpt4 key购买 nike

我想在直方图上绘制一条垂直线,其中分面后数据的中位数。我想用 stat_summary 来做这件事如下所示。这种方法的问题是 y 轴的比例不正确

我想这是因为我调用 ggplot(aes(x=data, y=data)) .对直方图做似乎有点奇怪,但我这样做的原因是因为 stat_summary需要 y 审美。有没有办法可以用 stat_summary 绘制中位数?但保持我打电话时得到的规模geom_histogram ?我可以添加一个 ylim但这种方法的问题在于,我可能不知道我可能会看到的新数据的正确上限是什么先验。

下面是生成我的示例的 reprex。

library(tidyverse)
#> Warning: package 'tibble' was built under R version 3.6.2

d = tribble(
~groupvar, ~data,
'a', rlnorm(10,2, 0.5),
'b', rlnorm(10,2, 0.5),
'c', rlnorm(10,5, 0.5)
) %>% unnest(c(data))



d %>%
ggplot(aes(x = data, y = data, group = groupvar))+
geom_histogram(aes(y = ..count..))+
facet_grid(~groupvar)+
stat_summary(aes(x=0, xintercept=stat(y)), fun = median, geom = 'vline')
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.



创建于 2020-04-01 由 reprex package (v0.3.0)

最佳答案

您可以删除 y = ..count..和 map y仅在 stat_summary层:

d %>% 
ggplot(aes(x = data, group = groupvar))+
geom_histogram() +
facet_grid(~groupvar) +
stat_summary(aes(y = 0, xintercept=stat(x)), fun = median, geom = 'vline')

enter image description here

我还 (a) 删除了 x = 0在 stat_summary 层和 (b) 更改 stat(y)stat(x) (由于您正在绘制一条垂直线,因此将其作为 x 值的摘要是有意义的)。

关于r - 我如何优先考虑从 geom_histogram 获得的 y 比例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60964074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com