[R] plot a vertical column of colored rectangles

baptiste auguie baptiste.auguie at googlemail.com
Sun Jul 17 00:00:54 CEST 2011


You could try grid.colorstrip() from the gridExtra package,

grid.colorstrip(ifelse(dat, "blue", "red"))

or grid.raster(), which should be more efficient,

grid.raster(matrix(ifelse(dat, "blue", "red")), interp=FALSE,
width=unit(1,"npc"), height=unit(1,"npc"))



On 15 July 2011 22:20, Nacho Caballero <nachocab at gmail.com> wrote:
> Hi, I've been really struggling with this.
> If I have a vector like
> dat <- c(0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,0)
> I want to plot each element as a colored rectangle (red=1, blue=1) in the
> right order, so they all stack up forming a vertical column on the graph.
> Sort of like a building, with each floor in the appropriate color.
> Any ideas?
> I've tried using ggplot and geom_tile, but my data has a million elements
> and the plots take forever to generate.
> I've also tried using a heatmap, but I need 2 columns at least, and I only
> have 1.
>        [[alternative HTML version deleted]]
> ______________________________________________
> 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.

More information about the R-help mailing list