我试图在ggplot中显示一个值,但它来自与其余绘图数据不同的数据框.基本上,我只想在图的一个角落插入"d = [value from second currame]".所有的建议都指向使用geom_text(),但我似乎不能正确理解语法.这是数据复制.

library(tidyverse)

df <- data.frame(junior = c(4,3,2,2,4,3,2), 
                 senior = c(2,6,3,5,2,6,3))
longdf <- df %>%
  pivot_longer(cols = everything(), names_to = 'class', values_to = 'rating')

df2 <- data.frame(p = .002, d = 0.64)

...这是剧情代码.我不确定geom_text()中到底有什么内容,也不确定是否可以从另一个数据帧中导入单个数据点.我还需要引用数据点,而不是仅仅粘贴文本"d=0.64".

ggplot(data = longdf, aes(x = class, y = rating)) +
  geom_boxplot() +
  geom_text(data = df2, label = d)

谢谢你的帮助.

推荐答案

您需要将label = d换成aes(),并指定xy个位置:

library(ggplot2)

ggplot(data = longdf, aes(x = class, y = rating)) +
  geom_boxplot() +
  geom_text(data = df2, aes(x = 2.4, y = 2, label = paste("d =", d)))

请注意,您不需要have将标签值放入数据帧中.您还可以使用annotate():

ggplot(data = longdf, aes(x = class, y = rating)) +
  geom_boxplot() +
  annotate(geom = "text", x = 2.4, y = 2, label = "d = 0.64")

R相关问答推荐

随机森林回归:下拉列重要性

单个轮廓重叠条的单独图例

如果某些列全部为NA,则更改列

使用整齐的计算(curl -curl )和杂音

在RStudio中堆叠条形图和折线图

找出二叉树中每个 node 在R中的深度?

Ggplot2中geom_tile的动态zoom

如何使用For-R循环在向量中找到一系列数字

远离理论值的伽马密度曲线下面积的近似

我如何使用循环来编写冗余的Rmarkdown脚本?

`-`是否也用于数据帧,有时使用引用调用?

使用列中的值来调用函数调用中应使用的其他列

避免在图例中显示VLINS组

快速合并R内的值

如何使用ggplot2根据绘图中生成的斜率对小平面进行排序?

在鼠标悬停时使用Plotly更改geom_point大小

有没有办法将勾选/审查标记添加到R中的累积关联图中?

将R中对象的CSV数组转换为JSON数组

如果y中存在x中的值,则将y行中的多个值复制到相应的x行中

如何将数据框压缩为更宽,同时将行输入保持为行输入,而不是R中的列名?