объединение двух гистограмм на одном графике с R

Я хотел бы нарисовать гистограмму для сравнения двух наборов данных на одном графике. Длина векторов разная. d1 имеет 180 номеров, а d2 - 300 номеров. В качестве примера я попробовал следующий код.

d1<-c(5.18,4.61,3.30,7.58,3.00,3.80,1.95,2.67,2.77,2.73,2.33,3.36,3.50,1.91,4.25,3.87,2.86,2.26,2.00,3.86,3.33,3.59,4.00,2.25,2.44,2.33,3.22,4.42)
d2<-c(2.1,2.1,2.6,2,3.6,2,2.7,1.8,3.1,3.9,3.8,2.6,1.9,2.6,2.1,3.9)
names(d1)<-1:28
names(d2)<-1:15
barplot(t(cbind(d1, d2)), beside=T, col=c("black","red"), border=F)
barplot(t(cbind(d1/sum(d1)*100, d2/sum(d2)*100)), 
    beside=T, col=c("black","red"), border=F)

Я не знаю, правильный этот метод или нет. ось x должна быть в виде бункеров. ось y должна быть в процентах частоты. ваши предложения будут оценены!

Например, я хотел бы получить сюжет, как показано ниже

введите здесь описание изображения


person ayya    schedule 14.03.2015    source источник


Ответы (1)


Вы можете добавить ко второй функции "barplot" аргумент "add=T":

barplot(t(cbind(d1/sum(d1)*100, d2/sum(d2)*100)), beside=T, col=c("black","red"), border=F, add=T)

что приведет к тому, что две гистограммы будут на одной фигуре и даже будут иметь одну и ту же ось x.

person Slava Bronfman    schedule 14.03.2015