Основной вопрос здесь заключается в том, как добавить метки в составную диаграмму в lattice
. Ответ содержится в этом вопросе , но поскольку связанный ответ не имеет нескольких панелей, я воссоздаю более простой ответ, используя базу R здесь:
Вы должны изменить функцию панели следующим образом:
- Рассчитать совокупную сумму значений x для каждого значения y
- Это классическая проблема разделения, применения, объединения. Вы можете использовать
plyr
для этого (как в связанном ответе) или, как я иллюстрирую, split
и do.call
:
xx <- do.call(c, unname(lapply(split(x, y), function(t)cumsum(t)-t/2)))
код:
barchart( 1:10 ~ Petal.Width + Petal.Length | Species,
data = iris[c(1:10, 51:60, 101:110), ],
stack = TRUE,
panel=function(x, y, ...) {
panel.barchart(x, y, ...)
xx <- do.call(c, unname(lapply(split(x, y), function(t)cumsum(t)-t/2)))
ltext(xx, y=y, labels=x)
}
)