【问题标题】:Ovelap 3 histograms each one with its own Normal distrubutions, on the same plot?在同一个图上重叠 3 个直方图,每个直方图都有自己的正态分布?
【发布时间】:2017-11-09 01:44:43
【问题描述】:

如何在同一个图上重叠 3 个直方图,每个直方图都有自己的正态分布?有这样的图表吗?该图显示了分子移动 100、1000 和 10000 次时的最后一个点:

我已经在 R 上拥有了具有自己正态分布的直方图。我为此使用了这段代码......

 # histograms
 b=read.csv("pruebab.csv")
 b=b$pruebab
 hist(b, freq = F,
      ylab = "Densidad",
      xlab = "Alturas (cm)", main = "")
 curve(dnorm(x, mean(b), sd(b)),
       col = "blue", lwd = 3, add = TRUE)
 hist(b, freq = F,
      ylab = "casualities",
      xlab = "meters", main = "")
 curve(dnorm(x, mean(b), sd(b)),
       col = "blue", lwd = 3, add = TRUE)

我的直方图及其分布函数示例:

【问题讨论】:

    标签: r csv histogram normal-distribution


    【解决方案1】:

    你可以试试ggplot2

    library(tidyverse) 
    df <- data.frame(x = rnorm(1000, 0, 1), y = rnorm(1000, 0, 3), z = rnorm(1000, 0, 5))
    df <- melt(df)
    ggplot(df, aes(x = value, y = ..count.., group = variable, fill = variable)) +
      geom_histogram(alpha = .6, binwidth = .5) +
      geom_density(alpha = .1, size = 1.2, aes(color = variable)) +
      theme_minimal()
    

    【讨论】:

      【解决方案2】:

      这是你的做法:

      h2 = rnorm(1000,4)
      h1 = rnorm(1000,6)
      
      # Histogram Grey Color
      hist(h1, col=rgb(0.1,0.1,0.1,0.5),xlim=c(0,9), ylim=c(0,0.4), main="Overlapping Histogram", prob=T)
      curve(dnorm(x, mean=mean(h1), sd=sd(h1)),xlim=c(0,10), ylim=c(0,200), add=TRUE,
            col = "blue", lwd = 3)
      
      hist(h2, col=rgb(0.8,0.8,0.8,0.5), add=T,prob = T)
      curve(dnorm(x, mean(h2)),
            col = "red", lwd = 3, add = TRUE)
      

      您在第二个和第三个直方图中缺少add = TRUE

      【讨论】:

        最近更新 更多