首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按“顶部”、“底部”、“左”、“右”、“中心”等关键字指定geom_text的位置

按“顶部”、“底部”、“左”、“右”、“中心”等关键字指定geom_text的位置
EN

Stack Overflow用户
提问于 2017-12-21 00:39:39
回答 5查看 32.7K关注 0票数 16

我希望将文本放置在ggplot中,而不指定xy位置,而是使用关键字,例如在graphics::legend中(“位置也可以通过从列表”“右下角”、“底部”、“左下角”、“左”、"topleft“、”顶上“、”右上“、”右“和”中间“中的单个关键字来指定)。

让我说我在做这样的图表。

代码语言:javascript
运行
复制
sp <- ggplot(mpg, aes(hwy, cty, label = "sometext")) +
       geom_point()

我想添加标签,以同样的方式打印在每一个图表。调用以下内容只需在每个x上打印文本,y值就可以提供给aes

代码语言:javascript
运行
复制
sp + geom_text()

我可以操作提供给xygeom_text()数据,以确保文本在图形之间保持相同的相对位置,但难道没有一种简单的方法在默认情况下调用"top""bottom"等位置吗?即sp + geom_text(position = "top").

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-12-21 00:44:59

geom_text希望根据您的数据集绘制标签。听起来你想在你的情节中添加一个文本,在这种情况下,annotate是更好的选择。要强制标签出现在相同的位置,而不管绘图中的单元是什么,您可以利用Inf值:

代码语言:javascript
运行
复制
sp <- ggplot(mpg, aes(hwy, cty, label = "sometext"))+
  geom_point() +
  annotate(geom = 'text', label = 'sometext', x = -Inf, y = Inf, hjust = 0, vjust = 1)
print(sp)

票数 19
EN

Stack Overflow用户

发布于 2017-12-21 03:02:57

我避免像瘟疫一样使用annotate,只需为geom_text使用一个空的数据帧data参数。

代码语言:javascript
运行
复制
ggplot(mpg, aes(hwy, cty, label = "sometext"))+
  geom_point() +
  geom_text(data=data.frame(), aes(label = 'sometext', x = -Inf, y = Inf),
            hjust = 0, vjust = 1)
票数 10
EN

Stack Overflow用户

发布于 2020-07-10 21:16:10

ggpmisc::geom_text_npc中,xy的位置以npc单位(0-1)表示.但是,这些立场也可指定为“词语”:

代码语言:javascript
运行
复制
d = data.frame(x = rep(c("left", "center", "right"), each = 3),
               y = rep(c("bottom", "middle", "top"), 3))
d$lab = with(d, paste0(x, "-", y))
d
#        x      y           lab
# 1   left bottom   left-bottom
# 2   left middle   left-middle
# 3   left    top      left-top
# 4 center bottom center-bottom
# 5 center middle center-middle
# 6 center    top    center-top
# 7  right bottom  right-bottom
# 8  right middle  right-middle
# 9  right    top     right-top

ggplot(d) +
  geom_text_npc(aes(npcx = x.chr, npcy = y.chr, label = lab))

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47916307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档