gpt4 book ai didi

r - 调整 ggplot2 geom_density() 中的 x 限制 xlim() 以模仿 ggvis layer_densities() 行为

转载 作者:行者123 更新时间:2023-12-04 18:39:52 27 4
gpt4 key购买 nike

有没有办法制作 ggplot2 的 geom_density()函数模仿 ggvis 的 layer_densities() 的行为?也就是这样 p1看起来像 p3 (见下文)无需调用 xlim() ?具体来说,我更喜欢平滑密度曲线尾部的 View 。

library(ggvis)
library(ggplot2)

faithful %>%
ggvis(~waiting) %>%
layer_densities(fill := "green") -> p1

ggplot(faithful, aes(x = waiting)) +
geom_density(fill = "green", alpha = 0.2) -> p2

ggplot(faithful, aes(x = waiting)) +
geom_density(fill = "green", alpha = 0.2) +
xlim(c(30, 110)) -> p3

p1
p2
p3

ggvis 输出:
p1

ggplot2“默认”:
p2

ggplot2“所需”:
p3

注意:可以通过以下方式使 ggvis 模仿 ggplot2(使用 trim=TRUE ),但我想换个方向......
faithful %>% 
compute_density(~waiting, trim=TRUE) %>%
ggvis(~pred_, ~resp_) %>%
layer_lines()

最佳答案

不如调用xlim ,但有以编程方式定义的限制?

l <- density(faithful$waiting)
ggplot(faithful, aes(x = waiting)) +
geom_density(fill = "green", alpha = 0.2) +
xlim(range(l$x))
enter image description here
缺点是双密度估计,所以请记住这一点。

关于r - 调整 ggplot2 geom_density() 中的 x 限制 xlim() 以模仿 ggvis layer_densities() 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28698852/

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