2013-01-13 11 views
7

Bitte, helfen Sie mir bei diesem Punkt. Ich brauche die positiven Werte als kleine Punkte und negative als große Punkte. Wenn ich minus vor Größe kleben, sind die Punktgrößen richtig, aber die Legende verändert:Wie wird die Punktgröße in ggplot umgekehrt?

df=data.frame(x=rnorm(20),y=runif(20),z=rnorm(20)) 
ggplot(df,aes(x=x,y=y))+geom_point(aes(size=-z)) 

so bedeutet das nicht Hotel.

+0

Versuch 'last_plot() + scale_size (Bereich = c (5,1)) + Führungen (size = guide_legend (Reverse = TRUE)) ' – baptiste

Antwort

10

Eine Lösung wäre scale_size() zu verwenden und stellen Sie Ihren eigenen breaks und dann labels in entgegengesetzter Richtung. Geänderter Bereich von z Werten, um eine bessere Darstellung zu erhalten.

df=data.frame(x=rnorm(20),y=runif(20),z=(-13:6)) 
ggplot(df,aes(x=x,y=y))+geom_point(aes(size=-z))+ 
    scale_size("New legend",breaks=c(-10,-5,0,5,10),labels=c(10,5,0,-5,-10)) 

enter image description here

+0

Vielen Dank! Das ist genau was ich will. –

Verwandte Themen