When I use grid.rect to print a multi-coloured grid, it is incredibly slow compared to a single colour grid, or even a two colour grid.
I've set out some simplified examples below. This is something I run literally thousands of times a day, so I would greatly appreciate any hints on how I might improve the speed??? library(grid) pushViewport(viewport( width = unit(100, "native"), height = unit(100, "native"), xscale = c(0, 100), yscale = c(0, 100), )) pushViewport(viewport( x = unit(10, "native"), y = unit(10, "native"), width = unit(100, "native"), height = unit(200, "native"), xscale = c(0, 100), yscale = c(0, 200), just = c("left", "bottom"), angle = 10)) system.time(grid.rect(x = unit(rep(1:100, 200) , "native"), y = unit(rep(1:200, each = 100), "native"), width = unit(1, "native"), height = unit(1, "native"), gp = gpar(col = NA, fill = "lightblue") )) system.time(grid.rect(x = unit(rep(1:100, 200) , "native"), y = unit(rep(1:200, each = 100), "native"), width = unit(1, "native"), height = unit(1, "native"), gp = gpar(col = NA, fill = rgb(1, 0, 0, 1:20000/40000)) )) My times for the two plots are: user system elapsed 0.61 0.30 0.92 vs user system elapsed 0.08 0.36 24.39 The time it takes to calculate the colours clearly doesn't explain the difference: system.time(rgb(1, 0, 0, 1:20000/20000)) user system elapsed 0 0 0 Even if I do a two coloured grid, it finishes as quickly as the single coloured one, so my first interpretation is that the function finds the colours fairly quickly, e.g. system.time(grid.rect(x = unit(rep(1:100, 200) , "native"), y = unit(rep(1:200, each = 100), "native"), width = unit(1, "native"), height = unit(1, "native"), gp = gpar(col = NA, fill = c("lightblue", "red")) )) user system elapsed 0.51 0.18 0.70 Best regards, Mikkel > sessionInfo() R version 2.12.0 (2010-10-15) Platform: i386-pc-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=English_Ireland.1252 LC_CTYPE=English_Ireland.1252 [3] LC_MONETARY=English_Ireland.1252 LC_NUMERIC=C [5] LC_TIME=English_Ireland.1252 attached base packages: [1] grid stats graphics grDevices utils datasets methods [8] base loaded via a namespace (and not attached): [1] tools_2.12.0 ______________________________________________ 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.