在ggplot2中给geom_tile层添加点

6
在R 2.13.1 / ggplot2 0.8.9中,我试图在geom_tile层上添加点。这个例子复制了这个错误。
volcano3d <- melt(volcano) 
names(volcano3d) <- c("x", "y", "z") 
pts <- data.frame(a=runif(10,0,80), b=runif(10,0,60))
v <- ggplot(volcano3d, aes(x, y, z = z)) 

v + geom_tile(aes(fill = z))
# works fine

v + geom_tile(aes(fill = z)) + geom_point(data=pts, aes(x=a, y=b)) 
# Error in eval(expr, envir, enclos) : object 'z' not found

有什么想法是错的吗?
1个回答

13

要么使用unmap函数取消z美学设置

v + geom_tile(aes(fill = z)) + geom_point(data=pts, aes(x=a, y=b,z=NULL) )

或者仅从第一个ggplot函数调用中删除它

v <- ggplot(volcano3d, aes(x, y))
v + geom_tile(aes(fill = z)) + geom_point(data=pts, aes(x=a, y=b))

关于在第一个ggplot调用中删除填充的评论正是我期待的!谢谢! - Shadow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接