2010-06-01 4 views
7

Quando si esegue questo codice (andare avanti, provare):informazioni leggenda Irrilevante in 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() 

... la "size = 3" dichiarazione non impostato correttamente la dimensione in punti. Tuttavia esso provoca la leggenda per dare alla luce un po 'di leggenda sotto di esso, dal titolo "3" e contenente nient'altro che un grande punto e il numero 3.

Questo fa la stessa

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

Sì, è divertente. Mi avrebbe fatto impazzire un paio d'ore fa, se non fosse stato così divertente. Ma ora facciamolo fermare.

+0

Vedo anche che Hadley lo chiarisce a pagina 48 del libro ggplot2. –

risposta

8

Questo perché lo interpreta come una mappatura estetica piuttosto che una costante. Penso che:

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

Imparare la differenza tra l'estetica mappata ai dati di aes() e le costanti al di fuori di aes() rende ggplot molto più semplice. –