Я пытаюсь выяснить, как определить значения средних точек сгруппированных столбцов, т. е. фактическое положение X центра каждого столбца. Это легко сделать в базовой функции R barplot
, однако я хотел бы иметь возможность сделать это в решетке barchart
. Моя цель - отобразить значения текстового столбца поверх соответствующей панели.
Приведенный ниже код позволяет мне размещать текст поверх полос, если я не использую подгруппы. Я пробовал искать в Интернете решение, но ничего не работает. Как видно из графика, средние точки определены только для центра всей группы.
Спасибо!
library(lattice)
test= data.frame(
group=c("WK 1", "WK 1", "WK 1", "WK 2", "WK 2", "WK 2", "WK 3", "WK 3", "WK 3"),
subgroup=c(1,2,3,1,2,3,1,2,3) ,
percent=c(60,50,80,55,56,65,77,65,86),
text=c("n=33", "n=37","n=39","n=25","n=27","n=22","n=13","n=16","n=11")
)
barchart(data=test,
percent~group,
groups=subgroup,
panel = function(x,y,...){
panel.barchart(x, y,...)
panel.text( x=unique(test$group),
y=test$percent,
label=unique(test$text)
)
}
)