[R] proportional symbol map ggplot

Hadley Wickham hadley at rice.edu
Wed Mar 16 14:33:31 CET 2011


On Mon, Mar 14, 2011 at 9:41 AM, Strategische Analyse CSD Hasselt
<csd.sa at fedpolhasselt.be> wrote:
> Hello,
>
> we want to plot a proportional symbol map with ggplot. Symbols' area should
> have the same proportions as the scaled variable.
> Hereby an example we found on
> http://www.r-bloggers.com/bubble-chart-by-using-ggplot2/ . In this example
> we see the proportions of the symbols' area are different from the
> proportions of the scaled variable:
>
> crime <-
> read.csv("http://datasets.flowingdata.com/crimeRatesByState2008.csv",
> header=TRUE, sep="\t")
> p <- ggplot(crime, aes(murder,burglary,size=population, label=state))
> p <- p+geom_point(colour="red") +scale_area(to=c(1,20))+geom_text(size=3)
>
> Example:
> proportion population Pennsylvania/Tennessee= 2.003
> proportion symbols' area Pennsylvania/Tennessee= +/- 2.50
>
> proportion population California/Florida= 2.005
> proportion symbols' area California/Florida= +/-2.25
>
> What we would like is that the proportion of the symbols' area is also equal
> to 2.0.

To do that you need to make sure the lower limit extends to 0 and the
size of the smallest circle is also 0. I think something like
scale_area(to=c(0, 20), limits = c(0, 4e7), breaks = 1:4 * 1e7) should
suffice.

It would also be helpful if you stated how you calculated the areas.

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/



More information about the R-help mailing list