Hi You could try the 'useRaster' argument to levelplot()
Alternatively, if you are not doing much annotation (such as axes and labels) around the matrix-representations, you could possibly speed things up by calling grid.rect() directly. Feel free to contact me directly if that sounds like an option.
Paul On 07/16/13 09:55, Nicolas Servant wrote:
Dear R users, I'm currently using the Graphics package to display several hundred of matrix objects, using a layout and the image() function. It works well except for large matrices (> 1000*1000) or for a large number of matrices (there is a limitation around 400 if I remember well) To solve these issues, I move to the Matrix package which is much more efficient for large sparse matrix, and to the grid package for the plot (using image from Matrix) However, the levelplot() is much more slow than the graphics image() function !! Basically, with the image() from graphics, I'm able to plot 360 matrices in 30 sec, against more than 10 minutes with levelplot(). I would appreciate if anyone has some experience on that, and could give me some advice to efficiently use the grid package !? Regards Nicolas > i=1000 > M1 <- Matrix(rnorm(i*i), ncol=i) > system.time(print(Matrix::image(M1))) user system elapsed 11.320 0.064 11.406 > M2 <- matrix(rnorm(i*i), ncol=i) > system.time(image(as.matrix(M2))) user system elapsed 0.837 0.004 0.844
-- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 p...@stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/ ______________________________________________ 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.