Loading ...
Sorry, an error occurred while loading the content.

Re: [ploticus] Re: problem with $math(mod,a,b)

Expand Messages
  • Stephen C. Grubb
    Mark, I checked the source code and you re right, there is a limit of 100 alternate points. If you have the source code you can raise this by editing
    Message 1 of 4 , Jan 30, 2006
    • 0 Attachment
      Mark, I checked the source code and you're right, there is a limit of 100
      alternate points. If you have the source code you can raise this by
      editing proc_lineplot.c

      at ~line 72: int altlist[102] .... raise to eg. 502

      at ~line 280: if( result == 1 && nalt < 100 ) ... change 100 to eg. 500

      In the next release I'll improve this code to at least use a defined
      constant. I'll also document this upper limitation. Thanks for finding
      this.

      Steve


      On Fri, 27 Jan 2006, mhmh0023 wrote:

      > Hi Steve,
      >
      > Thanks for the tip. It works, but only up to 500 (for every 5),
      > which is just barely enough for me. The number of altsymbols in this
      > case is limited to 100, regardless every 3 or every 5. For future
      > reference, is there a way to raise this limit?
      >
      > Thanks
      > --
      > Mark
      >
      > --- In ploticus@yahoogroups.com, "Stephen C. Grubb" <scg@j...> wrote:
      > >
      > >
      > > Hi, If you're trying to show one square every five units don't you
      > want to
      > > say this:
      > >
      > > pointsymbol: linecolor=red shape=square style=outline radius=0.0
      > > altsymbol: linecolor=blue shape=square style=outline radius=0.04
      > > altwhen: $math(mod,@@1,5) = 0
      > >
      > >
      > > in other words, draw an invisible point (radius=0) at every
      > location, but
      > > draw a visible point (radius=0.04) every 5
      > >
      > > This seemed to work fine here.
      > >
      > > Steve
      > >
      > >
      > >
      > > On Sun, 8 Jan 2006, mhmh0023 wrote:
      > >
      > > > Hello,
      > > >
      > > > I try to do a line plot with pointsymbols for every 5 data points.
      > > > Using altsymbol and altwhen with modulus seems to be a simple way to
      > > > get the result I want. However, $math(mod,@@1,5) stops working after
      > > > 125 data points. It seems $math(mod,@@1,5) returns 0 after @@1 > 125.
      > > >
      > > > Here is the sample code I tested. The result should show a line
      > > > plot of X=Y from 1 to 200 with pointsymbols every 5 data points, but
      > > > pointsysmbols are shown for each datapoints after 125.
      > > >
      > > > #proc page
      > > > pagesize: 8 5
      > > > titledetails: size=11 align=C
      > > > title: test
      > > >
      > > > #proc getdata
      > > > fieldnameheader: yes
      > > > #intrailer
      > > > #endproc
      > > >
      > > > #proc areadef
      > > > rectangle: 1 1 7 4
      > > > xautorange: datafield=1
      > > > yautorange: datafield=2
      > > > xaxis.stubs: inc
      > > > xaxis.label: X
      > > > yaxis.stubs: inc
      > > > yaxis.label: Y
      > > >
      > > > #proc lineplot
      > > > xfield: 1
      > > > yfield: 2
      > > > linedetails: color=red style=2 width=0.7
      > > > pointsymbol: linecolor=red shape=square style=outline radius=0.04
      > > > altsymbol: linecolor=red shape=square style=outline radius=0.00
      > > > altwhen: $math( mod, @@1, 5) > 0
      > > > legendlabel: X
      > > > legendsampletype: line+symbol
      > > > #endproc
      > > >
      > > > #proc legend
      > > > location: max-0.1 min+0.5
      > > > textdetails: size=10
      > > > swatchsize: 0.8
      > > > #endproc
      > > >
      > > > // input data: @@1 == @@2, @@1 = 1..200
      > > > #proc trailer
      > > > data:
      > > > X Y
      > > > 1 1
      > > > 2 2
      > > > 3 3
      > > > ........ // data points skipped
      > > > 199 199
      > > > 200 200
      > > >
      > > > Any help is appreciated.
      > > > --
      > > > Mark H.
      > > >
      > > >
      > > > Yahoo! Groups Links
      > > >
      > > Stephen C. Grubb scg@j... x-6633
      > > Scientific Software Engineer, The Jackson Laboratory
      > > 600 Main Street Bar Harbor, Maine 04609 USA
      >
      >
      >
      >
      >
      >
      >
      >
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
      >
      >


      Stephen C. Grubb scg@... x-6633
      Scientific Software Engineer, The Jackson Laboratory
      600 Main Street Bar Harbor, Maine 04609 USA
    Your message has been successfully submitted and would be delivered to recipients shortly.