Frage

In Anbetracht der folgenden ggplot2 Diagramm:

ggplot(my_data, aes(colour=my_factor) +   
                geom_point(aes(x=prior, y=current)) +   
                facet_grid(gender ~ age)

Ich mag die Größe der Punkte machen, dass vor / Strom-Kombination auf die Anzahl des my_factor proportional sein.

ggplot(my_data, aes(colour=my_factor, 
                size=<something-here>(my_factor)) +   
                geom_point(aes(x=prior, y=current)) + 
                facet_grid(gender ~ age)

Irgendwelche Ideen?

== == Bearbeiten

Hier ist ein sehr einfaches Beispiel basierend auf mpg-Datensatz. Lassen Sie uns definieren "great_hwy" als hwy> 35, und "great_cty" als cty> 25:

mpg$great_hwy[mpg$hwy > 35]  <-1
mpg$great_hwy[mpg$hwy <= 35] <-0
mpg$great_hwy <- factor(mpg$great_hwy)

mpg$great_cty[mpg$cty > 25]  <- 1
mpg$great_cty[mpg$cty <= 25] <- 0
mpg$great_cty <- factor(mpg$great_cty)

Wenn wir great_hwy gegen great_cty plotten, es wird uns nicht viel sagen:

ggplot(mpg) + geom_point(aes(x=great_cty, y=great_hwy))

Wie kann ich die Datenpunkte größer in der Größe zu machen, je nach der Anzahl der x / y-Punkte? Hoffe, dass dies klärt ihn auf, aber lassen Sie mich wissen, sonst.

War es hilfreich?

Lösung

Sie können natürlich auch das tun, indem auf ggplot externen zählen, aber einer der großen Vorteile von ggplot ist, dass Sie intern viele dieser Statistiken tun können!

Mit Ihrem mpg Beispiel oben:

ggplot(mpg) + 
  geom_point(aes(x=great_cty, y=great_hwy, 
                 size=..count..), stat="bin")

alt text

Andere Tipps

Da die akzeptierte Antwort ein veraltetes Feature verwendet werde ich diese alternative Antwort darauf hin, dass die Arbeiten für ggplot2 1.0.1

ggplot2 Visualisierung zählt Punkte aufgetragen auf der jeweils anderen: stat_bin2d oder geom_tile oder Punktgröße

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top