グループ化されたバーの中間値、つまり各バーの中心の実際の X 位置を決定する方法を見つけようとしています。これはベース R 関数で簡単に実行できますが、 latticebarplot
で実行できるようにしたいと考えています。私の目標は、対応するバーの上にテキスト列の値を表示することです。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)
)
}
)