Dear all, I am using the heatmap representations of latticeExtra package and I would be interested to draw color side bars representing the groups of a factor of interest. From my understanding of : > help(dendrogramGrob) ... The 'add' argument can be used for additional annotation at the base of the dendrogram. It should be a list with one component for each row, with names specifying the type of annotation and components specifying the contents. Currently, the only supported name is '"rect"' (which can be repeated), producing rectangles. The components in such a case is a list of graphical parameters, possibly vectorized, that are passed on to 'gpar'. ... I should use the argument add. Unfortunately I am not very familiar with 'gpar' from grid package, and I cannot find the correct syntax to use this 'add' argument. Does anyone has an example of how to draw side bars next to a dendrogram produced with latticeExtra? Thank you, Audrey
deepayan.sarkar at r-project.org
2007-Sep-17 15:18 UTC
[R] side bars on dendrograms with latticeExtra
On 9/17/07, audrey <audrey at ebi.ac.uk> wrote:> Dear all, > > I am using the heatmap representations of latticeExtra package and I > would be interested to draw color side bars representing the groups of a > factor of interest. From my understanding of : > > > help(dendrogramGrob) > ... > The 'add' argument can be used for additional annotation at the > base of the dendrogram. It should be a list with one component > for each row, with names specifying the type of annotation and > components specifying the contents. Currently, the only supported > name is '"rect"' (which can be repeated), producing rectangles. > The components in such a case is a list of graphical parameters, > possibly vectorized, that are passed on to 'gpar'. > ... > > I should use the argument add. Unfortunately I am not very familiar with > 'gpar' from grid package, and I cannot find the correct syntax to use > this 'add' argument. > > Does anyone has an example of how to draw side bars next to a dendrogram > produced with latticeExtra?Here's one: library(latticeExtra) hc1 <- hclust(dist(USArrests, method = "canberra")) hc1 <- as.dendrogram(hc1) ord.hc1 <- order.dendrogram(hc1) hc2 <- reorder(hc1, state.region[ord.hc1]) ord.hc2 <- order.dendrogram(hc2) region.colors <- trellis.par.get("superpose.polygon")$col levelplot(t(scale(USArrests))[, ord.hc2], scales = list(x = list(rot = 90)), colorkey = FALSE, legend list(right list(fun = dendrogramGrob, args list(x = hc2, ord = ord.hc2, side = "right", size = 10, size.add= 0.5, add = list(rect list(col = "transparent", fill = region.colors[state.region])), type = "rectangle")))) -Deepayan