View Raw SPL
/* set color for all series */
setallcolors(s = refwindow(w0), colorlist = getwincolorlist())
{
        local nitem, ncol, nmember, j, k, idx, cidx, clen;

        if (iswindow(s))
        {
                /* check if has series */
                if (winstatus(s, 4) == 0)
                {
                        return;
                }
        }

        nitem = numitems(s);
        ncol  = numcols(s);
        clen  = length(colorlist);

        if (nitem > 1)
        {
                idx = 0;

                /* items */
                loop (j = 1..nitem)
                {
                        nmember = itemcount(s, j);

                        /* each member gets the same color */
                        loop (k = 1..nmember)
                        {
                                cidx = (idx % clen) + 1;
                                setcolor(s, colorlist[cidx], j, k);
                        }

                        idx++;
                }
        }
        else
        {
                /* columns */
                loop (j = 1..ncol)
                {
                        cidx = ((j - 1) % clen) + 1;
                        setcolor(s, colorlist[cidx], 1, j);
                }
        }
}