1

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

我尝试使用 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))

这会产生:问题

我想要什么(当然使用正确的字体和大小): 解决方案

我已经添加了:

 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() 应该在两者之间添加,但这就是我卡住的地方。

4

1 回答 1

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")
于 2019-07-23T23:17:40.963 回答