From: Harald H. <h.h...@tu...> - 2004-07-11 12:08:10
|
When thinking of relative coordinates, I have found a strange behaviour of `set arrow' when using `rto' in conjunction with logarithmic coordinates. Have a look at the output of the following example: # -------------------------------------------------------------- set logscale x set logscale x2 set xrange [1:100] set yrange [-1:1] set x2range [1:100] set y2range [-1:1] set arrow from first 10,-0.3 rto first 5,0 set arrow from second 10,-0.1 rto second 5,0 set arrow from first 10,0.1 rto second 5,0 set arrow from second 10,0.3 rto first 5,0 set label ' first rto first ' at 10,-0.3 right set label ' second rto second ' at 10,-0.1 right set label ' first rto second ' at 10,0.1 right set label ' second rto first ' at 10,0.3 right plot 1/0 notitle pause -1 # -------------------------------------------------------------- I am using two coordinate systems `first' and `second' with the same ranges. When using the same coordinates for the start point and the relative end point the end point is calculated by summating: endpos =3D startpos + difference. If I, instead, change the coordinate system between start point and relative end point, the `difference' is taken as factor: endpos =3D startpos * difference. Thus, for the cases `first to first' and `second to second', the arrows end at 10+5=3D15 while for the cases `first to second' and `second to first', they end at 10*5=3D50. I think, this really should be consistent. And in order to allow also the other changes, e.g., `screen to first', I think the usage as a factor is better than the difference. Interpreting the offset as factor whould also enable text offsets more easily. What do you think? Yours Harald P.S. I have not posted this as bug to sourceforge since I think here is some discussion necessary. --=20 Harald Harders Langer Kamp 8 Technische Universit=E4t Braunschweig D-38106 Braunschweig Institut f=FCr Werkstoffe Germany E-Mail: h.h...@tu... Tel: +49 (5 31) 3 91-3062 WWW : http://www.ifw.tu-bs.de Fax: +49 (5 31) 3 91-3058 |