r आर: समूह द्वारा रंगों के साथ घनत्व की साजिश?




colors histogram (2)

मेरे पास 2 जनसंख्या से डेटा है मैं एक ही ग्राफ़िक पर हिस्टोग्राम और घनत्व दोनों का प्लॉट प्राप्त करना चाहता हूं। एक आबादी के लिए एक रंग और दूसरे के लिए एक और रंग के साथ

मैंने इस (उदाहरण) की कोशिश की है:

library(ggplot2)
AA <- rnorm(100000, 70,20)
BB <- rnorm(100000,120,20)

valores <- c(AA,BB)
grupo <- c(rep("AA", 100000),c(rep("BB", 100000)))
todo <- data.frame(valores, grupo)


ggplot(todo, aes(x=valores, fill=grupo, color=grupo)) +
  geom_histogram(aes(y=..density..), binwidth=3)+  geom_density(aes(color=grupo))

लेकिन मुझे सिर्फ एक रेखा और एक रंग से ग्राफिक मिल रहा है।

मुझे दो घनत्व लाइनों के लिए अलग-अलग रंग चाहते हैं I और यदि संभव हो तो हिस्टोग्राम भी।

मैंने इसे ggplot2 के साथ किया है लेकिन आधार आर भी ठीक हो जाएगा।

या मैं नहीं जानता कि मैंने क्या बदल दिया है और अब मुझे यह मिलता है:

ggplot(todo, aes(x=valores, fill=grupo, color=grupo)) + 
geom_histogram( position="identity", binwidth=3, alpha=0.5)+ 
geom_density(aes(color=grupo))

लेकिन घनत्व की रेखाएं प्लॉट नहीं की गई थीं।

या यहां तक ​​कि अजीब बातों की तरह


एक आधार आर समाधान हो सकता है:

  hist(AA, probability = T, col = rgb(1,0,0,0.5), border = rgb(1,0,0,1), 
       xlim=range(AA,BB), breaks= 50, ylim=c(0,0.025), main="AA and BB", xlab = "")
  hist(BB, probability = T, col = rgb(0,0,1,0.5), border = rgb(0,0,1,1), add=T)
  lines(density(AA))
  lines(density(BB), lty=2)

अल्फा के लिए मैंने rgb इस्तेमाल किया लेकिन इसे प्राप्त करने के कई तरीके हैं। उदाहरण के लिए scales पैकेज में alpha() देखें मैंने एए के साजिश के लिए ब्रेक पैरामीटर भी जोड़ा था ताकि बीबी ग्रुप की तुलना में बिनविड्थ बढ़ सके।


मैं इस ggplot2 समाधान का सुझाव देता हूं:

ggplot(todo, aes(valores, color=grupo)) +
  geom_histogram(position="identity", binwidth=3, aes(y=..density.., fill=grupo),  alpha=0.5) +
  geom_density()

@ स्कैन: आपका प्रयास बंद था, लेकिन हिस्टोग्राम में घनत्व मूल्यों के बजाय आप फ़्रीक्वेंसी लगाए हैं।





histogram