你的问题来自这样一个事实:当你定义一个
aes
ggplot()
调用时,这些设置将由所有
geom_*
如果它们没有被覆盖的话。
如果我们把你的问题简化为最小形式,我们就能清楚地看到这一点。我们可以把你的问题复制到最后一个
geom_text
独自一人:
ggplot(gb, aes(x = y, y = y1, fill = typeoft)) +
geom_text(data = labdat, aes(x = x,y = y,label = label))
Error in FUN(X[[i]], ...) : object 'typeoft' not found
这是因为当你定义
在里面
ggplot
x
,
y
,和
fill
aes公司
在里面
几何图形文本
,的值
十
是的
aes公司
几何图形文本
事实上
aes(x = x, y = y, label = label, fill = typeoft)
typeoft
在对象中
labdat
,它返回一个错误。
我们可以通过给你
几何图形文本
inherit.aes = FALSE
:
# This works!
ggplot(gb, aes(x = y, y = y1, fill = typeoft)) +
geom_text(data = labdat,aes(x = x, y = y, label = label), inherit.aes = FALSE)
现在
几何图形文本
只包括你告诉它的东西。