From: Ethan A M. <me...@uw...> - 2022-09-06 07:02:24
|
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 |
From: Tatsuro M. <tma...@ya...> - 2022-09-07 14:47:04
|
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" <me...@uw...> > To: "gnu...@li..." <gnu...@li...> > 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 > gnu...@li... > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > |
From: Tatsuro M. <tma...@ya...> - 2022-09-08 07:57:41
|
The output of demo of watchpoints (watchpoints.dem) was prepared in pdf file and the file was uploaded to http://tmacchant33.starfree.jp/Files/watchpoits.pdf Tatsuro > ----- Original Message ----- > > From: "Tatsuro MATSUOKA via gnuplot-beta" <gnu...@li...> > To: "Ethan A Merritt" <me...@uw...>; "gnu...@li..." <gnu...@li...> > Date: 2022/09/07 水 23:48 > Subject: Re: New gnuplot subsystem "watchpoints" > > > 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" <me...@uw...> > > To: "gnu...@li..." <gnu...@li...> > > 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 > > gnu...@li... > > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > > > > > > _______________________________________________ > gnuplot-beta mailing list > gnu...@li... > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta > |