Plot just recycles colors as needed. You can reset the item colors anytime,
but the colors are indexed by the current data item so this is not what you
want. I don't think there is a built-in way to override this.
However, the function that indexes the colors is just:
getitemcolor_jzplot_
3 : 'y $ DataNdx |. ITEMCOLOR'
If you remove the "DataNdx |." expression, then you can reset item colors
the way you expect. For example, try:
load 'plot'
getitemcolor_jzplot_=: 3 : 'y $ ITEMCOLOR'
dat=: 10#&>1+i.9
pd 'pensize 5'
pd 'itemcolor red,blue,green'
pd 0 1 2 { dat
pd 'itemcolor yellow,magenta,lime,brown'
pd 3 4 5 6 { dat
pd 'itemcolor orange,darkblue'
pd 7 8 { dat
pd 'show'
Of course, this does change the plot class. For later use in the same
session, you can restore the definition, or reload with:
load 'jzplot'
On Mon, Jul 17, 2017 at 8:06 AM, Rudolf Sykora <[email protected]>
wrote:
> On 17 July 2017 at 16:42, Tom Arneson <[email protected]> wrote:
>
> > To get just 4 colors, redefine STDCLR
> >
> > STDCLR_jzplot_=: 4{. STDCLR_jzplot_
>
> Say I do not know in advance how many graphs will be there.
> (I know I can always count them, but...)
>
> Say the number of plotted lines in the 1st and 2nd group (see below)
> are not the same.
> Do I really need to count and define itemcolor list for each one plot
> "set", a, b below?:
>
> pd i.3 NB. 1a
> pd 1+i.3 NB. 2a
> pd 2+i.3 NB. 3a
> ...
> pd N+i.3 NB.Na
>
> NB. reset colors-chain somehow here
>
> pd *: i.3 NB. 1b
> pd % i.3 NB. 2b
> ...
> pd foo i.3 NB.Mb
>
> I want the graphs 1a,1b and 2a,2b and 3a,3b etc. have the same color, N
> and M
> don't have to be the same, the colour-chain length can have its own length.
> As I said, I thought something like
>
> MY_z =: STDCLR_jwplot_
> pd 'itemcolor MY'
>
> would do it (when put between the two groups), but for some reason
> it does not work.
>
> Thanks
> Ruda
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm