我正在使用名为df
的数据框:
Date variable Value
1/1/2012 teamA 10
1/1/2012 teamA 10
1/1/2012 teamB 10
1/1/2012 teamC 15
1/2/2012 teamA 25
1/2/2012 teamB 30
1/2/2012 teamC 20
第二个数据框叫total
Date Total
1/1/2012 50
1/2/2012 70
我正在尝试创建一个ggplot堆栈var并在同一个图形上绘制一个趋势线,如下所示:
ggplot(df,aes(x=Date, y=Value, fill=(variable))) +
geom_bar(stat="identity") +
theme_bw() +
opts(title = "Team Performance") +
xlab("Date") + ylab("Score") +
geom_smooth(data=Total,
aes(Date,Total,group=1),
method="lm", size=2, color="darkblue")
我收到此错误:
Error in eval(expr, envir, enclos) : object 'variable' not found
当我自己这样做时:
ggplot(df,aes(x=Date, y=Value, fill=(variable))) +
geom_bar(stat="identity") + theme_bw()
它有效
variable
对象肯定存在,任何想法,我在这里做错了什么?
答案 0 :(得分:1)
映射在ggplot()
中的美学级联到每一层。
这意味着fill = variable
中需要geom_smooth
,而我猜测variable
中没有任何名为Total
的内容。将fill = variable
移至geom_bar
或使用geom_smooth
在fill = NULL
中取消映射。