2012-03-28 3 views
4

In R 2.13.1/ggplot2 0.8.9 versuche ich, Punkte auf einer geom_tile-Ebene hinzuzufügen. In diesem Beispiel wird der Fehler reproduziert.Hinzufügen von Punkten zu einer geom_tile-Ebene in ggplot2

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 

Irgendeine Idee, was ist falsch?

Antwort

10

entweder unmap die z-Ästhetik mit

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

oder einfach aus dem Anruf zuerst ggplot entfernen

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

Der Kommentar über die Füllung aus dem ersten ggplot Anruf entfernt wurde genau das, was ich nach vorne schaue ! Danke dafür! – Shadow