Dear R users, I am trying to produce an image plot, that represents the proportions of a factor (z variable), so that the number of squares of each colour represents each factor level, with the respective label inside (sorry for the crap English).
# Something like this: kk=data.frame(fact=letters[1:10], freq=c(5,1,10,2,10,7,5,10,30,20)) # factor and respective frequecies res="a" # transform into a matrix (is there an easier way to do this?... for the image plot for(ii in 1:dim(kk)[1]){ res=c(res, rep(as.character(kk[ii,1]), l=kk[ii, 2])) } res=res[-1] res res=matrix(c(factor(res)), nc=10) image(x=1:10,y=1:10, res[,order(colSums(res))], col=rainbow(20)) abline(h=seq(0.5,10.5,1), col=8, lty=3); abline(v=seq(0.5,10.5,1), col=8, lty=3)#add some gridlines #Problems: #1. How to add the labels in each area text(1,1,paste("Factor level",kk[1,1]), pos=4) #2. How to separate the areas of each factor level (for BW printing), with lines (instead of colours as it is) segments(.5,1.5,5.5,1.5, lwd=2);segments(5.5,.5,5.5,1.5, lwd=2) # something like this, but automatically :-( #3. How to keep the areas together (contiguous) and not allow split over to lines? #4. Could I replace the col. by a symbol, for example? I think I would need to use plot instead of image. Any help will be much apretiated, Thank you very much in advance, Best wishes, Marta PS: This type of graphs are used in community ecology analysis, for example-... -- ....................................................................... Marta M. Rufino (PhD) ______________________________________________ R-help@r-project.org 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.