Next: Specialized Two-Dimensional Plots, Up: Plotting

The Matlab-style two-dimensional plotting commands are:

— Function File: **plot** (`args`)

This function produces two-dimensional plots. Many different combinations of arguments are possible. The simplest form is

plot (y)where the argument is taken as the set of

ycoordinates and thexcoordinates are taken to be the indices of the elements, starting with 1.If more than one argument is given, they are interpreted as

plot (x,y,fmt...)where

yandfmtare optional, and any number of argument sets may appear. Thexandyvalues are interpreted as follows:

- If a single data argument is supplied, it is taken as the set of
ycoordinates and thexcoordinates are taken to be the indices of the elements, starting with 1.- If the first argument is a vector and the second is a matrix, the the vector is plotted versus the columns (or rows) of the matrix. (using whichever combination matches, with columns tried first.)
- If the first argument is a matrix and the second is a vector, the the columns (or rows) of the matrix are plotted versus the vector. (using whichever combination matches, with columns tried first.)
- If both arguments are vectors, the elements of
yare plotted versus the elements ofx.- If both arguments are matrices, the columns of
yare plotted versus the columns ofx. In this case, both matrices must have the same number of rows and columns and no attempt is made to transpose the arguments to make the number of rows match.If both arguments are scalars, a single point is plotted.

If the

fmtargument is supplied, it is interpreted as follows. Iffmtis missing, the default gnuplot line style is assumed.

- `
-'- Set lines plot style (default).
- `
.'- Set dots plot style.
- `
@'- Set points plot style.
- `
-@'- Set linespoints plot style.
- `
^'- Set impulses plot style.
- `
L'- Set steps plot style.
- `
'n- Interpreted as the plot color if
nis an integer in the range 1 to 6.- `
'nm- If
nmis a two digit integer andmis an integer in the range 1 to 6,mis interpreted as the point style. This is only valid in combination with the`@`

or`-@`

specifiers.- `
'c- If
cis one of`"r"`

,`"g"`

,`"b"`

,`"m"`

,`"c"`

, or`"w"`

, it is interpreted as the plot color (red, green, blue, magenta, cyan, or white).- `
";title;"'- Here
`"title"`

is the label for the key.- `
+'- `
*'- `
o'- `
x'- Used in combination with the points or linespoints styles, set the point style.
The color line styles have the following meanings on terminals that support color.

Number Gnuplot colors (lines)points style 1 red * 2 green + 3 blue o 4 magenta x 5 cyan house 6 brown there existsThe

fmtargument can also be used to assign key titles. To do so, include the desired title between semi-colons after the formatting sequence described above, e.g. "+3;Key Title;" Note that the last semi-colon is required and will generate an error if it is left out.Here are some plot examples:

plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+")This command will plot

`y`

with points of type 2 (displayed as `+') and color 1 (red),`y2`

with lines,`y3`

with lines of color 4 (magenta) and`y4`

with points displayed as `+'.plot (b, "*")This command will plot the data in the variable

`b`

will be plotted with points displayed as `*'.t = 0:0.1:6.3; plot (t, cos(t), "-;cos(t);", t, sin(t), "+3;sin(t);");This will plot the cosine and sine functions and label them accordingly in the key.

— Built-in Function: **hold**` args`

Tell Octave to `hold' the current data on the plot when executing subsequent plotting commands. This allows you to execute a series of plot commands and have all the lines end up on the same figure. The default is for each new plot command to clear the plot device first. For example, the command

hold onturns the hold state on. An argument of

`off`

turns the hold state off, and`hold`

with no arguments toggles the current hold state.

— Built-in Function: **ishold**

Return 1 if the next line will be added to the current plot, or 0 if the plot device will be cleared before drawing the next line.

— Built-in Function: **clearplot**

— Built-in Function:**clg**

— Built-in Function:

Clear the plot window and any titles or axis labels. The name

`clg`

is aliased to`clearplot`

for compatibility with Matlab.The commands

gplot clear,gsplot clear, andreplot clearare equivalent to`clearplot`

. (Previously, commands likegplot clearwould evaluate`clear`

as an ordinary expression and clear all the visible variables.)

— Built-in Function: **closeplot**

Close stream to the

`gnuplot`

subprocess. If you are using X11, this will close the plot window.

— Built-in Function: **purge_tmp_files**

Delete the temporary files created by the plotting commands.

Octave creates temporary data files for

`gnuplot`

and then sends commands to`gnuplot`

through a pipe. Octave will delete the temporary files on exit, but if you are doing a lot of plotting you may want to clean up in the middle of a session.A future version of Octave will eliminate the need to use temporary files to hold the plot data.

— Function File: **axis** (`limits`)

Set axis limits for plots.

The argument

limitsshould be a 2, 4, or 6 element vector. The first and second elements specify the lower and upper limits for the x axis. The third and fourth specify the limits for the y axis, and the fifth and sixth specify the limits for the z axis.Without any arguments,

`axis`

turns autoscaling on.With one output argument,

`x=axis`

returns the current axes (this is not yet implemented for automatic axes).The vector argument specifying limits is optional, and additional string arguments may be used to specify various axis properties. For example,

axis ([1, 2, 3, 4], "square");forces a square aspect ratio, and

axis ("labely", "tic");turns tic marks on for all axes and tic mark labels on for the y-axis only.

The following options control the aspect ratio of the axes.

`"square"`

- Force a square aspect ratio.
`"equal"`

- Force x distance to equal y-distance.
`"normal"`

- Restore the balance.
The following options control the way axis limits are interpreted.

`"auto"`

- Set the specified axes to have nice limits around the data or all if no axes are specified.
`"manual"`

- Fix the current axes limits.
`"tight"`

- Fix axes to the limits of the data (not implemented).
The option

`"image"`

is equivalent to`"tight"`

and`"equal"`

.The following options affect the appearance of tic marks.

Note, if there are no tic marks for an axis, there can be no labels.

`"on"`

- Turn tic marks and labels on for all axes.
`"off"`

- Turn tic marks off for all axes.
`"tic[xyz]"`

- Turn tic marks on for all axes, or turn them on for the specified axes and off for the remainder.
`"label[xyz]"`

- Turn tic labels on for all axes, or turn them on for the specified axes and off for the remainder.
`"nolabel"`

- Turn tic labels off for all axes.
The following options affect the direction of increasing values on the axes.

`"ij"`

- Reverse y-axis, so lower values are nearer the top.
`"xy"`

- Restore y-axis, so higher values are nearer the top.