2016-07-22 6 views
2

Ich mache eine ggplot für eine Daten, die zwei Parameter Alcohol Consumption level vs Annual Income of Family zeigt.Zeigt die Dichte der Punkte an der gleichen Stelle in GGplot

Es gibt viele Datenpunkte in einer bestimmten Region des Diagramms, daher möchte ich diese Punkte im Vergleich zu anderen Regionen, in denen weniger Datenpunkte vorhanden sind, vergrößern. Ich weiß nicht, was ich in den aes Parameter in geom_point dafür eingeben soll.

g <- ggplot(data = matpor, mapping = aes(AIncome, AConsumption)) 
g <- g + geom_point(data = matpor, aes()) 
g 
+0

Versuchen Sie geom_hexbin. – Roland

Antwort

3

Warum die Größe des Punktes erhöhen? Sie können die Transparenz der Punkte oder Jitter erhöhen?

Zum Beispiel des klassischen ggplot2::diamonds Beispiel verwenden,

d <- ggplot(diamonds, aes(carat, price)) 
d + geom_point(alpha = 1/10) 

skaliert die Farbe auf 1/10tel ihrer ursprünglichen Dunkelheit.

Alternativ können Sie, um zu tun, was Sie wollen, die stat_sum Statistik in der geom_count Geom verwenden, um die Größe des Punktes basierend auf der Anzahl der Datenpunkte zu skalieren.

d + geom_count() 

Sie werden feststellen, dass viele, viele Datenpunkte in diesem Datensatz, die Größe der Punkte tatsächlich verdeckt werden.

In vielen Fällen ist es besser, diesen Wert auf eine Farbe zu skalieren, z. B. mit einem Heatmap- oder 2d-Bin-Histogramm.

d + geom_bin2d() 
+0

können Sie diese Antwort (denke ich) akzeptieren, um es zu schließen? – shayaa