【问题标题】:Two histograms on the same plot in R [duplicate]R中同一图上的两个直方图[重复]
【发布时间】:2020-12-31 01:32:56
【问题描述】:

我有以下形式的数据。

v1   v2
t1    2.2
t1    3.2
t1    2.2
t1    2.2
t1    4.0
t2    3.8
t2    2.0
t2    2.1
t2    2.0
t2    3.0

我想要v2 的直方图,用于同一图上v1 的类别(使用密度)。有人可以帮帮我吗?

【问题讨论】:

    标签: r data-visualization histogram density-plot


    【解决方案1】:

    您可以尝试使用ggplot2facet_wrap() 的分面方法。我们将使用geom_density() 来获取密度。代码如下:

    library(ggplot2)
    library(dplyr)
    

    数据

    #Data
    df <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2", 
    "t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1, 
    2, 3)), class = "data.frame", row.names = c(NA, -10L))
    

    代码

    #Code for plot
    df %>%
      ggplot(aes(x=v2,color=v1))+
      geom_density()+
      facet_wrap(.~v1)
    

    输出

    或者如果你只想要一个情节,这里的代码:

    #Code for plot 2
    df %>%
      ggplot(aes(x=v2,color=v1,group=v2))+
      geom_density()
    

    输出

    或者,也许同时使用geom_histogram()geom_density()

    #Code for plot 3
    df %>%
      ggplot(aes(x=v2,color=v1,fill=v1))+
      geom_histogram()+
      geom_density(alpha=0.5)+
      facet_wrap(.~v1)
    

    输出

    或者如果你想要一个情节:

    #Code for plot 4
    df %>%
      ggplot(aes(x=v2,color=v1,fill=v1,group=v1))+
      geom_histogram()+
      geom_density(alpha=0.5)
    

    输出

    【讨论】:

      【解决方案2】:

      或许,我们可以使用geom_histogram

      library(ggplot2)
      ggplot(df1, aes(x = v2)) +
            geom_histogram() +
            facet_grid(~ v1)
      


      或者另一个选项是ggpubr

      library(ggpubr)
      gghistogram(df1, x = "v2", add = "mean", rug = TRUE, 
              fill = "v1", add_density = TRUE)
      


      或者geom_densityfill的另一个选项

      ggplot(df1, aes(x = v2, fill = v1)) + 
             geom_density() + 
             facet_grid(~ v1)
      

      数据

      df1 <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2", 
      "t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1, 
      2, 3)), class = "data.frame", row.names = c(NA, -10L))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-10
        • 2012-08-18
        • 1970-01-01
        • 2020-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多