On Thu, 21 Jul 2011, Dimitri Liakhovitski wrote:
Hello!I am trying to build a mosaic plot that has different colors for each entry (cell). My data that goes into the plot is NOT really a contingency table and I would like each shape to have its own color.Looks like mosaic and mosaicplot treat the data as a contingency table and seem to allow different columns by "variable" only. Or am I mistaken? For example: library(stat) mosaicplot(matrix(c(58, 15, 9, 13, 5,0), 3, 2), main="",xlab="Share 0 to 100%",ylab="Share 0 to 100%",color=c(3,2)) or: library(vcd) mosaic(matrix(c(58, 15, 9, 13, 5,0), 3, 2), highlighting=1,highlighting_fill=c(3,2))
I think mosaicplot() always recycles the colors along the last variable. But with mosaic() you can do almost whatever you like. Above, you have selected a particular variable/margin for highlighting, i.e., did what mosaicplot() also does (but not what you wanted to do).
The simplest way to achieve what you want to do, is specify the graphical parameters "gp" directly. These can be of the same dimension as the data. For example:
## data d <- matrix(c(58, 15, 9, 13, 5,0), 3, 2) ## colors col <- matrix(hcl(0:5 * 60), 3, 2) ## plots mosaic(d, gp = gpar(fill = col)) mosaic(d, gp = gpar(col = col, fill = col)) mosaic(d, gp = gpar(col = col, lwd = 5, fill = "white")) etc. hth, Z
Thank you! -- Dimitri Liakhovitski marketfusionanalytics.com ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

