【问题标题】:geom_density: coloring density surface for different x-axis valuesgeom_density:不同x轴值的着色密度表面
【发布时间】:2021-05-08 16:32:32
【问题描述】:

我应该如何更改代码以获得所需的结果:相当于“0”和“>25”的密度表面被着色为红色。

#simulate zero-inflated data
pi <- 0.3
mu_log <- 2
sigma_log <- 0.8
N <- 1000
y <- (1 - rbinom(N, 1, prob = pi)) * rlnorm(N, mu_log, sigma_log)

#plot
ggplot()+
  geom_density(aes(y), inherit.aes = FALSE, show.legend = FALSE, size = 1, fill="grey60", color = NA, outline.type = "upper")

从当前代码绘制

期望的结果应该是这样的

【问题讨论】:

    标签: r ggplot2 plot tidyverse figure


    【解决方案1】:

    以下是我能想到的一些想法:

    #simulate zero-inflated data
    pi <- 0.3
    mu_log <- 2
    sigma_log <- 0.8
    N <- 1000
    y <- (1 - rbinom(N, 1, prob = pi)) * rlnorm(N, mu_log, sigma_log)
    
    df = data.frame(y) 
    gg = ggplot(df, aes(y)) +
            geom_density(fill = "grey")
    dat = ggplot_build(gg)$data[[1]]
    gg + geom_area(data = subset(dat, x > 25), aes(x = x, y = y), fill = "red") +
            geom_vline(xintercept = 0, col = "red", size = 2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 2017-12-14
      相关资源
      最近更新 更多