Re: New gnuplot subsystem "watchpoints"

Tatsuro MATSUOKA via gnuplot-beta <[email protected]> Wed, 7 Sep 2022 22:42:01 +0900 (JST)
Newsgroups gmane.comp.graphics.gnuplot.devel
Message-ID <[email protected]>
I have made windows and cygwin binary packages with "watchpoints" and uploaded the below.
http://tmacchant33.starfree.jp/gnuplot_bin.html

Tatsuro

> ----- Original Message -----
> 
> From: "Ethan A Merritt" <[email protected]>
> To: "[email protected]" <[email protected]>
> Date: 2022/09/06 火 16:03
> Subject: New gnuplot subsystem "watchpoints"
> 
> 
> This is a project I started a couple of years ago.
> I think it is now ready for general testing and use, so I have
> added it to the development branch with a configuration option
> 
>     configure --enable-watchpoints
> 
> The "help" text is below:
> 
>  Syntax:
>        plot FOO watch {x|y|z|F(x,y)} = <value>
>        plot FOO watch mouse
> 
>        set style watchpoints nolabels
>        set style watchpoints label <label-properties>
> 
>        unset style watchpoints      # return to default style
> 
>        show watchpoints    # summarizes all watches from previous plot command
> 
>  A watchpoint is a target value for the x, y, or z coordinate or for a function
>  f(x,y).  Each watchpoint is attached to a single plot within a `plot` command.
>  Watchpoints are tracked only for styles `with lines` and `with linespoints`.
>  Every component line segment of that plot is checked against all watchpoints
>  attached the plot to see whether one or more of the watchpoint targets is
>  satisfied at a point along that line segment. A list of points that satisfy the
>  the target condition ("hits") is accumulated as the plot is drawn.
> 
>  For example, if there is a watchpoint with a target y=100, each line segment
>  is checked to see if the y coordinates of the two endpoints bracket the target
>  y value.  If so then some point [x,y] on the line segment satisfies the target
>  condition y = 100 exactly.  This target point is then found by linear
>  interpolation or by iterative bisection.
> 
>  Watchpoints within a single plot command are numbered successively.
>  More than one watchpoint per plot component may be specified.
>  Example:
>       plot DATA using 1:2 smooth cnormal watch y=0.25 watch y=0.5 watch y=0.75
> 
>  Watchpoint hits for each targets in the previous plot command are stored in
>  named arrays WATCH_n.  You can also display a summary of all watchpoint hits
>  from the previous plot command;  see `show watchpoints`.
> 
>       gnuplot> show watchpoints
>       Plot title:     "DATA using 1:2 smooth cnormal"
>         Watch 1 target y = 0.25         (1 hits)
>                 hit 1   x 49.7  y 0.25
>         Watch 2 target y = 0.5          (1 hits)
>                 hit 1   x 63.1  y 0.5
>         Watch 3 target y = 0.75         (1 hits)
>                 hit 1   x 67.8  y 0.75
> 
>  Smoothing: Line segments are checked as they are drawn.  For unsmoothed data
>  plots this means a hit found by interpolation will lie exactly on a line
>  segment connecting two data points.  If a data plot is smoothed, hits will
>  lie on a line segment from the smoothed curve.  Depending on the quality
>  of the smoothed fit, this may or may not be more accurate than the hit from
>  the unsmoothed data.
> 
>  Accuracy: If the line segment was generated from a function plot, the exact
>  value of x such that f(x) = y is found by iterative bisection.
>  Otherwise the coordinates [x,y] are approximated by linear interpolation
>  along the line segment.
> 
>  Using the current mouse x coordinate as a watch target generates a label
>  that moves along the line of the plot tracking the horizontal position of
>  the mouse.  This allows simultaneous readout of the y values of multiple
>  plot lines in the same graph.  The appearance of the point indicating the
>  current position and of the label can be modified by `set style watchpoint`
>  and `set style textbox`
> 
>  Example:
> 
>       set style watchpoint labels point pt 6 ps 2 boxstyle 1
>       set style textbox 1 lw 0.5 opaque
>       plot for [i=1:N] "file.dat" using 1:(column(i)) watch mouse
> 
> 
> 
> 
> 
> 
> _______________________________________________
> gnuplot-beta mailing list
> [email protected]
> Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta
> 



_______________________________________________
gnuplot-beta mailing list
[email protected]
Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta