Next: , Previous: Comments, Up: gnuplot


1.9 Coordinates

The commands arrow, `set key`, `set label` and object allow you to draw something at an arbitrary position on the graph. This position is specified by the syntax:

           {<system>} <x>, {<system>} <y> {,{<system>} <z>}
     

Each <system> can either be `first`, `second`, `graph`, `screen`, or `character`.

`first` places the x, y, or z coordinate in the system defined by the left and bottom axes; `second` places it in the system defined by the second axes (top and right); `graph` specifies the area within the axes—0,0 is bottom left and 1,1 is top right (for splot, 0,0,0 is bottom left of plotting area; use negative z to get to the base—see xyplane); `screen` specifies the screen area (the entire area—not just the portion selected by size), with 0,0 at bottom left and 1,1 at top right; and `character` gives the position in character widths and heights from the bottom left of the screen area (screen 0,0), `character` coordinates depend on the chosen font size.

If the coordinate system for x is not specified, `first` is used. If the system for y is not specified, the one used for x is adopted.

In some cases, the given coordinate is not an absolute position but a relative value (e.g., the second position in arrow ... `rto`). In most cases, the given value serves as difference to the first position. If the given coordinate resides in a logarithmic axis the value is interpreted as factor. For example,

           set logscale x
           set arrow 100,5 rto 10,2
     

plots an arrow from position 100,5 to position 1000,7 since the x axis is logarithmic while the y axis is linear.

If one (or more) axis is timeseries, the appropriate coordinate should be given as a quoted time string according to the timefmt format string. See xdata and timefmt. `Gnuplot` will also accept an integer expression, which will be interpreted as seconds from 1 January 2000.