2017-11-09 4 views
0

Wie überlappe ich 3 Histogramme mit jeweils eigenen Normalverteilungen, auf dem gleichen Plot? Um ein Diagramm wie dieses zu haben? Das Bild zeigt die letzten Punkte, wenn ein Molekül bewegt 100, 1000 und 10000 mal:Ovelap 3 Histogramme jede mit ihren eigenen Normalverteilungen, auf der gleichen Parzelle?

image

Ich habe bereits die Histogramme mit seinen eigenen Normalverteilungen für sich auf R. ich diesen Code für das verwendet .. .

# 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) 

Ein Beispiel für mein Histogramm mit seiner Verteilungsfunktion:

image

Antwort

0

Heres ist, wie Sie es tun:

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) 

Sie die add = TRUE in der zweiten und dritten Histogramm fehlt

1

können Sie 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() 

enter image description here

versuchen
Verwandte Themen