次の最小限の例を考えてみましょう。
tab = structure(c(187, 189, 205, 167, 273, 275, 295, 231, 385, 575,
409, 363, 899, 707, 751, 667, 2007, 1953, 2101, 2531, 1043, 1023,
1071, 971, 385, 575, 409, 363, 181, 241, 157, 163, 123, 163,
133, 131), .Dim = c(4L, 9L), .Dimnames = list(NULL, c("-4", "-3",
"-2", "-1", "0", "1", "2", "3", "4")))
マトリックスtab
には、9 ポイント リッカート スケールのカウントが含まれます。
基本的なプロットは簡単に作成できます。
likert(tab,
auto.key=list(between=0.5, between.columns=1),
main="Attitudes",
BrewerPaletteName="RdBu",as.percent=TRUE, rightAxisLabels=NULL,
rightAxis=NULL, ylab.right="")
そして、それはいいですね。さて、問題:
- パーセンテージ軸の増分を制御したいと思います。場合によっては、他のカウントでは 50% しか表示されません。10% の増分を強制したい
- % カウントをラベルとして追加したい。最も重要なのは、0 カテゴリの場合です。Excelのように、右クリックして「データラベルを追加」と言います。似たようなものがあるはずです。
ggplot も検討しましたが、発散プロットはサポートされていません。さらに、特にtikzエクスポートの場合、ラベル付けも非常に面倒です。
EDIT panel.text を使ってみました。ただし、まだ数字が正しく整列されていません。
#does not work right!
trellis.focus("toplevel")
for(pp in 1:nrow(tab)){
panel.text(0.5, (pp/nrow(tab))*0.84+0.16, tab[pp,5], cex = 1, font = 2)
}
trellis.unfocus()
各バー内で適切な位置を見つけるにはどうすればよいですか?