在ggplot(R)上包装geom_text / geom_label [重复]

Posted

技术标签:

【中文标题】在ggplot(R)上包装geom_text / geom_label [重复]【英文标题】:Wrapping geom_text / geom_label on ggplot (R) [duplicate] 【发布时间】:2021-06-19 22:36:28 【问题描述】:

我正在尝试找到一种将 geom_text/geom_label 包装在散点图 (ggplot) 上的方法。我已经看到可以手动输入坐标的方法 - 但我将有 10-20 个变量,所以这是不可能的。

我有一个看起来像这样的数据框...

df <- data.frame(x =c(2,4,6,8),
                 y =c(7,3,5,4),
                 label =c("this variable has a long name which needs to be shortened", 
                          "this variable has an even longer name that really needs to be shortened", 
                          "this variables has a name that is much longer than two of the other name, so really needs to be shortened", 
                          "this is pretty long too"))

我想制作以下情节(但带有包装标签)

ggplot(df, aes(x=x, y=y, label=label))+
  geom_point()+
  geom_text(nudge_y=0.05)+
  xlim(0,10)+
  theme_minimal()+
  ggtitle("title")

剧情如下:

【问题讨论】:

【参考方案1】:

你试过str_wrap 吗?根据您的实际数据,您可能需要使用width 参数和nudge_y

library(ggplot2)

df$label <- stringr::str_wrap(df$label, 25)

ggplot(df, aes(x=x, y=y, label=label))+
  geom_point()+
  geom_text(nudge_y=0.5)+
  xlim(0,10)+
  theme_minimal()+
  ggtitle("title")

【讨论】:

以上是关于在ggplot(R)上包装geom_text / geom_label [重复]的主要内容,如果未能解决你的问题,请参考以下文章

[R ggplot geom_text打掉背景 - 错误?

是否可以用ggplot2在R中以科学计数形式显示绘图geom_text数据标签?

R语言ggplot2可视化:使用scale_shape_identity函数显示pch点形状使用geom_text函数为pch形状添加标(plot characters)

ggplot:如何根据变量类型在 geom_text 位置上设置不同的对齐方式?

R语言ggplot2可视化在图像中添加竖线并在竖线的两边添加文本标签并对齐实战:添加竖线添加竖线两边的对齐文本标签(Align geom_text with geom_vline )

R语言与医学统计图形-16ggplot2几何对象之标签与文本