demo.palV2 <- function(n)
{
   main.text = c("rainbow1","rainbow2","heat.colors","terrain.colors"
               ,"topo.colors","cm.colors")
   par(mfrow=c(2,3))
   nmax <- n
   a <- c(rainbow(n, start=.0, end=1))
   b <- c(rainbow(n, start=.35, end=0.7))
   c <- heat.colors(n)
   d <- terrain.colors(n)
   e <- topo.colors(n)
   f <- cm.colors(n)
   palcol <- list(a,b,c,d,e,f)
   nt <- n
   xmax <- sqrt(nt);ymax <- xmax
   kmax <- round(xmax,0); lmax <- kmax
   for (ncp in 1:6){
     i <- 1:5
     plot(i,i, type="n", xlim = c(0,xmax),ylim = c(0,ymax),
          xlab=" ", ylab=" ", main=main.text[ncp], col.axis="lightgray")
     for (k in 1:kmax){
       for (l in 1:lmax){
         ncol <- 1 + (k-1)*kmax + l-1
         rect(k-1, l-1, k, l,col=palcol[[ncp]][ncol],border="white")
         text(k-0.45, l-0.45,ncol,col="white",cex=0.5)
         if (ncol == nmax) break()
   }}}
}
demo.palV2(200)