2014-01-23 5 views
13
library(data.table) 
library(ggpolot2) 

numPoints <- 10000 
dt <- data.table(a=rnorm(numPoints),b=rnorm(numPoints)) 

qplot(a,b,data=dt, geom="point", alpha=1) 
qplot(a,b,data=dt, geom="point", alpha=0.1) 
qplot(a,b,data=dt, geom="point", alpha=0.01) 

Unabhängig von dem Alpha-Wert, den ich wählen, scheint das resultierende Diagramm die gleiche Transparenz zu haben.Wie man ggplot Alpha (Transparenz) -Wert für alle Punkte auf einmal setzt

Wie kann ich die Punkte transparenter machen (so dass die Dichte der Punkte in einem Bereich besser sichtbar ist)?

+2

Verwenden Sie einfach die Funktion "I", z. 'qplot (a, b, Daten = dt, geom =" Punkt ", Alpha = I (0.1))' – blmoore

Antwort

29

Da die ... ist andere für jede Schicht geleitet Ästhetik, das heißt Sie sind nicht alpha Einstellung, die Sie zuordnen, es bis zu einem gewissen Wert, dann ist das gleiche für alle Werte. Sie können erkennen, wie Sie auch einen Legendeneintrag für alpha auf dem Grundstück erhalten. Es gibt zwei Lösungen:

1) Verwenden Sie die I, um anzuzeigen, dass dies eine ästhetische Einstellung ist;

qplot(a,b,data=dt, geom="point", alpha=I(0.1)) 

2) Statt ein ggplot verwenden und die ästhetischen im geom ...

ggplot(dt , aes(a , b))+ 
    geom_point(alpha = 0.1) 

enter image description here beiden Anrufen produzieren das gleiche Ergebnis.

Verwandte Themen