[R] image/area plot

hadley wickham h.wickham at gmail.com
Fri Jan 18 18:02:33 CET 2008


Do you have an example graphic that shows what you're trying to
create?  I can't figure out if you want something like a square pie
chart (aka waffle chart), a stacked barchart, a levelplot, or
something else.

Hadley

On Jan 18, 2008 6:06 AM, Marta Rufino <mrufino at cripsul.ipimar.pt> wrote:
> 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 at 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.
>



-- 
http://had.co.nz/



More information about the R-help mailing list