在李克特图的右侧添加文本

时间:2019-07-23 15:06:06

标签: r ggplot2 plot likert

我想在李克特图的右侧添加文本。

我尝试使用geom_text()进行此操作,但是我不知道如何将正确的字符串加载到geom_text()函数中。

这是一个示例数据集:

library(likert)

data <- data.frame("bad carpet" = factor(sample(1:5, 50, replace=T)),
                   "bad shower" = factor(sample(1:5, 50, replace=T)),
                   "bad bath" = factor(sample(1:5, 50, replace=T)))

plot(likert(data))

这将产生:problem

我想要的东西(当然带有正确的字体和大小): solution

我已经添加:

 plot(likert(data)) + scale_y_continuous(limits=c(-100,150)) +
  coord_flip(ylim=c(-110,110)) +
  theme(plot.margin=unit(c(0.2,2,0.2,0.2),"cm"))

为文本产生更多的空间。 Geom_text()应该添加在两者之间的某个位置,但这就是我遇到的问题。

1 个答案:

答案 0 :(得分:0)

如其他答案所述(例如herehere),您可以将coord_中的任何功能与clip="off"一起使用,以添加外部任何几何图形的注释绘图区。

绘图代码的这一附加功能可以使您接近,但必须尝试使用​​大小和颜色才能使其完全匹配。

p <- plot(likert(data)) + 
  scale_y_continuous(limits=c(-100,150)) +
  coord_flip(ylim=c(-110,110), clip = "off") +
  theme(plot.margin=unit(c(0.2,2.25,0.2,0.2),"cm"))

p + annotate("text", label=labs, x=c(1:3), y=c(125), hjust=0, size=3, colour="grey30")