[R] mosaic plot of "vcd" package does not stretch with 2-dimension?

Dieter Menne dieter.menne at menne-biomed.de
Fri May 2 18:06:05 CEST 2008


Sang Chul Choi <choi <at> biology.rutgers.edu> writes:
> I like mosaic function of "vcd" package. I have played around it. I  
> have found out that mosaic plot  data table is 2-dimension does not  
> stretch when you enlarge a mosaic plot. It is okay when data table is  
> 3 or more dimension. The first one is of 3-dimension table case, and  
> the second one is 2-dimension. With the first plot, you can drag  
> window to enlarge a plot. With the second, I cannot.
> 
 
> ===========================================================
> music = c(210, 194, 170, 110,
>            190, 406, 730, 290)
> dim(music) = c(2, 2, 2)
> dimnames(music) = list(Age = c("Old", "Young"),
>                         Education = c("High", "Low"),
>                         Listen = c("Yes", "No"))
> mosaic(music)
> ===========================================================
> 
> ===========================================================
> music = c(210, 194, 170, 110,
>            190, 406, 730, 290)
> dim(music) = c(2, 4)
> dimnames(music) = list(Age = c("Old", "Young"),
>                         Education = c("High", "Low", "Upper", "Lower"))
> mosaic(music)

Not really: note that the images resizes correctly, it just keeps its square
aspect-ratio.

vcd is so strongly modularized that it can be difficult to find the information
required. Check strucplot, where it says:

strucplot
keep_aspect_ratio 	logical indicating whether the aspect ratio should be
fixed or not. If unspecified, the default is TRUE for two-dimensional tables and
FALSE otherwise.

So try

mosaic(music, keep_aspect_ratio=FALSE)

but think over if that's really what you want. In most cases it makes 
sense to keep the square aspect for 2x2 cases 

Dieter



More information about the R-help mailing list