Визуализация гистограммы и среднее гистограммы на одном графике в R

Я создал приведенную ниже гистограмму в R

У меня есть средний гистограмма высокого риска, среднего риска и низкого риска.

Теперь я хочу наложить 1-й график на второй, то есть внутри второго графика. Я хочу, чтобы столбцы с высоким риском, показанные на первом графике, были помещены под столбец высокого риска на втором графике. Аналогично, для среднего риска и низкого риска. Можно ли это сделать в R?

1 ответ

Как отметил Тайлер, то, что вы хотите, не является хорошей идеей, но чтобы ответить на ваш вопрос, вот код, который должен помочь вам начать:

##Generate some data
heights = runif(15)
heights = heights/sum(heights)
dd = data.frame(heights, type=1:3)
m_heights = tapply(dd$heights, dd$type, mean)

Хитрость заключается в создании пустых баров при добавлении вашего второго барплота:

##rep(0, 5) is used to pad
h = c(rep(0,5), heights[1:5], rep(0,5), heights[6:10], rep(0,5), heights[11:15])
barplot(m_heights, width=1, space=1,  ylim=c(0, max(dd$heights)), xlim=c(0, 6))
barplot(h, width=0.2,space=0,add=T,  col="white", border=NULL)

Тем не менее, гораздо лучший график - это просто точечный график данных.

plot(dd$type, dd$heights)

Мы можем даже добавить на средства:

points(1:3, m_heights, col=2, pch="X")
Другие вопросы по тегам