通过使用数值变量

时间:2018-04-04 08:30:30

标签: r ggplot2

我想使用geom_text标记文本(它是一个变量):

geom_text(aes(as.Date("2018-03-05"), -8), label = A_Statrd)

我收到此错误:

  

Fehler:美学必须是长度1或与数据相同(31):标签

如何将变量视为标签?

文字效果很好。当我使用引号时,他会将文字写入我的图形中。但这不是我想要的。我想拿一个变量。变量是数字。

对于任何提示/建议,我非常感谢你。

1 个答案:

答案 0 :(得分:0)

geom_text会期望label是一种美学,所以它期望它会收到你的数据帧的一列 - 因此有关向量长度的错误。

两个选项:

一个:在其中制作带有此标签的虚拟数据框,类似于

data.frame(x = as.Date("2018-03-05"), y = -8, label = A_Statrd)

并将其用作data调用中的geom_text参数。

或者两个:正如其中一条评论中所建议的那样,更好的选择是使用annotate代替geom_text。这是annotate设计的情况,其中有一些文本或其他注释,映射到您的数据,而是一些静态信息。使用像

这样的东西
ggplot(...) + 
    annotate(geom = "text", x = as.Date("2018-03-05"), y = -8, label = A_Statrd)

这假设A_Statrd是您存储在其他地方的变量 - 这就是您的问题所示。