我想使用geom_text标记文本(它是一个变量):
geom_text(aes(as.Date("2018-03-05"), -8), label = A_Statrd)
我收到此错误:
Fehler:美学必须是长度1或与数据相同(31):标签
如何将变量视为标签?
文字效果很好。当我使用引号时,他会将文字写入我的图形中。但这不是我想要的。我想拿一个变量。变量是数字。
对于任何提示/建议,我非常感谢你。
答案 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
是您存储在其他地方的变量 - 这就是您的问题所示。