demo.palV2 <- function(n)
{
   main.text = c("rainbow1","rainbow2","heat.colors","terrain.colors"
               ,"topo.colors","cm.colors")
   par(mfrow=c(2,3))
   nmax <- n
   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
         rv <- 0.7*(k+ncp)/(kmax+6)
         gv <- 0.8*(kmax-k)/kmax
         bv <- 0.7*l*(6-ncp)/(lmax*6)
         colrgb <- rgb(rv,gv,bv)
         rect(k-1, l-1, k, l,col=colrgb,border="white")
         text(k-0.45, l-0.45,ncol,col="white",cex=0.5)
         if (ncol == nmax) break()
   }}}
}
demo.palV2(200)