将文本添加到李克特图的右侧
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")
我想在李克特图的右侧添加文本。
我试着用 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() 应该在两者之间的某个地方添加,但这就是我卡住的地方。
如其他答案中所述(例如,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")