2010-06-01 15 views
7

Cuando se ejecuta este código (que adelante, probarlo):información de la leyenda irrelevante en ggplot2

library(ggplot2) 
(myDat <- data.frame(cbind(VarX=10:1, VarY=runif(10)), 
    Descrip=sample(LETTERS[1:3], 10, replace=TRUE))) 
ggplot(myDat,aes(VarX,VarY,shape=Descrip,size=3)) + geom_point() 

... el "size = 3" declaración no establece correctamente el tamaño de punto. Sin embargo, hace que la leyenda para dar a luz a una pequeña leyenda debajo de ella, titulado "3" y que contiene nada más que un punto grande y el número 3.

Esto hace lo mismo

ggplot(myDat,aes(VarX,VarY,shape=Descrip)) + geom_point(aes(size=3)) 

sí, es gracioso. Me hubiera vuelto loco hace un par de horas si no fuera tan divertido. Pero ahora hagámoslo parar.

+0

También veo que Hadley aclara esto en la página 48 del libro ggplot2. –

Respuesta

8

Eso es porque lo interpreta como un mapeo estético en lugar de una constante. Esto funciona, creo:

ggplot(myDat,aes(VarX,VarY,shape=Descrip)) + geom_point(size=3) 
+1

Al aprender la diferencia entre la estética mapeada en datos de aes() y las constantes fuera de aes() hace que ggplot sea mucho más fácil. –

Cuestiones relacionadas