On Saturday 29 May 2004 20:18, Anthony Darrouzet-Nardi wrote:
I have a followup question. Suppose I want to encode two different variables within a panel: one variable encoded by plotting character and one variable encoded by symbol color (as if I could use two "groups" variables). The dataframe I discussed above also includes a variable called treatment. If I start with the existing code modified with your suggestions:
xyplot(coversage ~ dryout | year, data = dryoutcover, groups = block, panel = function(x,y, ...) { panel.lmline(x,y) panel.superpose(x,y, pch = 49:54, cex = rep(2,6), col = rep("black", 6), ...) } )
how could I make all of the symbols of one treatment red and all of the symbols of the other black while maintaining the encodings of block by plotting character? This would be a superbly useful technique as it would allow 4 dimensional data on a single panel (maybe even 5 using a point cloud!).
I would use the same construct, forming a new grouping variable and using suitably modified pch and col arguments:
xyplot(coversage ~ dryout | year, data=dryoutcover, cex = 2, groups = interaction(block, treatment), pch = rep(49:54, 2), col = rep(c('red', 'black'), each = 5))
(2 and 5 being the nlevels() of treatment and block respectively). You would also probably prefer factor(year) rather than year.
Deepayan
Bravo! That works wonderfully. I foresee myself using this method a lot. For the record, nlevels(block) is 6, so each = 6 in the col argument for the final version. Makes sense to switch to factor(year) as well (like the barley data).
Thanks for your help,
Anthony
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
