【问题标题】:R: How can I annotate a ggplot with a text box?R:如何用文本框注释 ggplot?
【发布时间】:2017-05-16 22:22:34
【问题描述】:

我希望在我的 ggplot 绘图正文中添加一个小的白色文本框,其中包含自定义文本。我要添加的文本是标识要添加到绘图中的水平线。

  ggplot(cb_emp) +  
  geom_point(aes(x = grossunits, 
                 y = rate, 
                 color = as.factor(outlier))
                 , alpha = 1/4) +
  scale_color_discrete(name  ="Outcome",
                        breaks=c(0, 1),
                        labels=c("Not outlier", "Outlier")) +
  geom_hline(aes(yintercept = meancbrate)) + 
  geom_vline(aes(xintercept = meanac) +
  annotate("text", x = max(grossunits), y = meancbrate, label = "avg rate")  

这是我得到的情节:

这是我想要的情节(或类似的东西):

如果有简单的方法可以实现这一点,请告诉我。

非常感谢您的帮助!

【问题讨论】:

  • 试试geom_label(x = max(grossunits), y = meancbrate, label = "avg rate")
  • 感谢@ahly 的快速回复!我试过了,但是,我没有情节......它没有渲染。而且,我的 R Studio 实例挂起。也许它试图标记所有点?我有大约 25k 积分
  • 计算在 ggplot 命令之外要显示标签的 x 和 y 值。然后执行geom_label(x = x_lab, y = y_lab, label = "avg rate") 之类的操作,其中x_laby_lab 指的是您想要标签的位置

标签: r ggplot2 annotate


【解决方案1】:

您可以简单地更改为

annotate("label", x = max(grossunits), y = meancbrate, label = "avg rate") 

它将使用geom_label 而不是geom_text,因此您会在标签周围得到一个矩形。

【讨论】:

  • 有什么办法可以增大annotate写的文字的字体大小?
  • 可以加个参数size = 7
猜你喜欢
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 2022-06-21
  • 2020-03-09
  • 1970-01-01
相关资源
最近更新 更多