### 1.10 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.