2010-06-01 6 views
7

Wenn dieser Code ausgeführt wird (gehen Sie vor, versuchen Sie es):Irrelevant Legende Informationen 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() 

... die "size = 3" Anweisung nicht richtig eingestellt, die Punktgröße. Doch es die Legende verursacht Geburt zu einer kleinen Legende darunter, mit dem Titel „3“ und enthält nichts anderes als ein großer Punkt und die Nummer 3.

Dies macht das gleiche

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

Ja zu geben, ist es komisch. Es hätte mich vor ein paar Stunden verrückt gemacht, wenn es nicht so komisch wäre. Aber lass uns jetzt aufhören.

+0

Ich sehe auch, dass Hadley dies auf Seite 48 des Buches ggplot2 verdeutlicht. –

Antwort

8

Das liegt daran, dass es eher als ästhetisches Mapping als als Konstante interpretiert wird. Das funktioniert, denke ich:

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

Den Unterschied zwischen der Daten-gemappten Ästhetik von aes() und den Konstanten außerhalb von aes() zu lernen, macht ggplot so viel einfacher. –