2015-03-14 5 views
1

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

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 должна быть в процентах по частоте. ваши предложения будут оценены!

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

enter image description here

ответ

0

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

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

который заставит две гистограммы быть на том же рисунке и даже будет иметь одну и ту же ось Х.

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

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