将文本添加到李克特图的右侧

Add text to the right side of a Likert plot

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

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

如其他答案中所述(例如, and ),您可以使用任何带有 clip="off"coord_ 函数来添加绘图区域外任何几何体的注释。

添加到您的绘图代码中可以让您更接近,但您必须尝试调整大小和颜色才能使它们完全匹配。

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")