控制百分比轴并将值添加到HH Likert图

时间:2013-03-06 19:58:28

标签: r graphics plot lattice survey

考虑以下最小例子:

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%的增量
  • 我想将%count添加为标签。最重要的是0类。就像在Excel中一样,右键单击并说“添加数据标签”。必须有类似的东西。

我也考虑过ggplot,但它不支持不同的情节。加上标签也非常混乱,特别是对于tikz出口。

修改 我尝试过使用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()

如何在每个栏中找到合适的位置?

1 个答案:

答案 0 :(得分:2)

要更改x轴值,您应添加参数scales=并为at=轴添加x参数。

likert(tab,
       auto.key=list(between=0.5, between.columns=1),
       main="Attitudes",
       BrewerPaletteName="RdBu",as.percent=TRUE, rightAxisLabels=NULL, 
       rightAxis=NULL, ylab.right="",
       scales=list(
         x=list(
           at=seq(-50,50,10))))