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

From: Martin Maechler <maechler_at_stat.math.ethz.ch>
Date: Sat 23 Jul 2005 - 00:09:00 EST

Hi,

```    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'.

```

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> How much free photo storage do you get? Store your holiday
```    Dan> ______________________________________________
Dan> R-help@stat.math.ethz.ch mailing list
```