2014-11-17 4 views
0

У меня есть 6000 отчетов. Для каждого отчета у меня есть, сколько мусора есть в отчете. Так что я могу сделать гистограмму этого:R: кластеры на гистограмме

boundaries = seq(0,1 , by=0.01) 
hist(hoeveel_rommel_per_rapport, breaks=boundaries) 

где hoeveel_rommel_per_rapport вектор, который описывает мусор для каждого отчетов. enter image description here

Теперь у меня есть номер кластера для каждого отчета. Я хочу, чтобы на гистограмме были выделены все кластеры другого цвета. Это возможно?

Так, например, первый стек содержит 3 разных кластера, поэтому он получает 3 цвета.

ответ

0

Вы можете передать аргумент col с цветами, которые вы хотите, я не уверен, если пропускание списка цветов, как col = c("green", "red", "blue") будет делать то, что вы хотите, но вы, конечно, можете выбрать, какой цвет у них есть

+0

Здравствуйте, спасибо за ответ. Я знаю этот аргумент, но я хочу дать каждому кластеру другой цвет. – Anita

+0

Не могли бы вы опубликовать то, что вы пробовали и воспроизводимый пример? – Llopis

+0

Я ничего не пробовал, потому что не знаю, как это сделать – Anita

2

I 'd склонны использовать ggplot для чего-то вроде этого. Вот несколько подходов к использованию сделанных данных (в будущем вы должны предоставить свои данные или, по крайней мере, репрезентативную выборку).

set.seed(1) # for reproducible example 
reports <- data.frame(garbage=rchisq(900,c(10,15,20))/50,cluster=LETTERS[1:3]) 

Это похоже на то, что вы искали - уложенная гистограмма.

library(ggplot2) 
ggplot(reports) + 
    geom_histogram(aes(x=garbage, fill=cluster),binwidth=0.01) 

Это ставит три гистограммы в разных панелях - гораздо понятнее.

ggplot(reports) + 
    geom_histogram(aes(x=garbage, fill=cluster),binwidth=0.01) + 
    facet_wrap(~cluster,nc=1) 

участки Перекрытие плотности в одной панели.

ggplot(reports) + 
    stat_density(aes(x=garbage, fill=cluster),position="identity",alpha=0.5) 

 Смежные вопросы

  • Нет связанных вопросов^_^