# Re: [R] bubble.plot() - standardize size of unit circle

From: Dan Bebber <danbebber_at_yahoo.co.uk>
Date: Sat 23 Jul 2005 - 00:20:13 EST

Thanks Martin- I didn't know about the sunflowerplot function. Somehow I prefer the look of bubbles, but I guess you're right about the visual perception. Will have to read up on it.

Dan

• Martin Maechler <maechler@stat.math.ethz.ch> wrote:

> Hi,
>
> >>>>> "Dan" == Dan Bebber <danbebber@yahoo.co.uk>
> >>>>> on Thu, 21 Jul 2005 12:05:45 +0100 (BST)
> writes:
>
> Dan> Hello,
> Dan> I wrote a wrapper for symbols() that
> produces a
> Dan> bivariate bubble plot, for use when
> plot(x,y) hides
> Dan> multiple occurrences of the same x,y
> combination (e.g.
> Dan> if x,y are integers).
> Dan> Circle area ~ counts per bin, and circle
> size is
> Dan> controlled by 'scale'.
>
> this:
>
> Why don't use sunflowerplot() instead?
>
> The excellent researchers who invented sunflower
> plots in the
> late 70s early 1980s knew well about "bubble"
> alternatives and
> much about drawbacks of such bubbles
> {mainly the perception laws of areas vs lengths ..}
>
> That's why they came up with the sunflowers as
> improvement ..
> See 'References' in help(sunflowerplot)
>
> Regards,
> Martin Maechler, ETH Zurich
>
>
>
>
> Dan> Question: how can I automatically make the
> smallest
> Dan> circle the same size as a standard plot
> character,
> Dan> rather than having to approximate it using
> 'scale'?
>
> Dan> #Function:
> Dan>
>
bubble.plot<-function(x,y,scale=0.1,xlab=substitute(x),ylab=substitute(y),...){
> Dan> z<-table(x,y)
> Dan> xx<-rep(as.numeric(rownames(z)),ncol(z))
> Dan>
> yy<-sort(rep(as.numeric(colnames(z)),nrow(z)))
> Dan> id<-which(z!=0)
> Dan>
>
symbols(xx[id],yy[id],inches=F,circles=sqrt(z[id])*scale,xlab=xlab,ylab=ylab,...)}
>
> Dan> #Example:
> Dan> x<-rpois(100,3)
> Dan> y<-x+rpois(100,2)
> Dan> bubble.plot(x,y)
>
>
>
> Dan>
>

>

>
> Dan>
> ______________________________________________
> Dan> R-help@stat.math.ethz.ch mailing list
> Dan>
> https://stat.ethz.ch/mailman/listinfo/r-help