Next: Multiple Plot Windows, Previous: Plot Annotations, Up: High-Level Plotting [Contents][Index]
Octave can display more than one plot in a single figure. The simplest
way to do this is to use the subplot
function to divide the plot
area into a series of subplot windows that are indexed by an integer.
For example,
subplot (2, 1, 1) fplot (@sin, [-10, 10]); subplot (2, 1, 2) fplot (@cos, [-10, 10]);
creates a figure with two separate axes, one displaying a sine wave and the
other a cosine wave. The first call to subplot divides the figure into two
plotting areas (two rows and one column) and makes the first plot area active.
The grid of plot areas created by subplot
is numbered in row-major order
(left to right, top to bottom). After plotting a sine wave, the next call to
subplot activates the second subplot area, but does not re-partition the
figure.
Set up a plot grid with rows by cols subwindows and set the
current axes for plotting (gca
) to the location given by index.
If an axes handle hax is provided after the (rows, cols, index) arguments, the corresponding axes is turned into a subplot.
If only one numeric argument is supplied, then it must be a three digit value specifying the number of rows in digit 1, the number of columns in digit 2, and the plot index in digit 3.
The plot index runs row-wise; First, all columns in a row are numbered and then the next row is filled.
For example, a plot with 2x3 grid will have plot indices running as follows:
+-----+-----+-----+ | 1 | 2 | 3 | +-----+-----+-----+ | 4 | 5 | 6 | +-----+-----+-----+
index may also be a vector. In this case, the new axes will enclose the grid locations specified. The first demo illustrates this:
demo ("subplot", 1)
The index of the subplot to make active may also be specified by its axes
handle, hax, returned from a previous subplot
command.
If the option "align"
is given then the plot boxes of the subwindows
will align, but this may leave no room for axes tick marks or labels.
If the option "replace"
is given then the subplot axes will be
reset, rather than just switching the current axes for plotting to the
requested subplot.
The "position"
property can be used to exactly position the subplot
axes within the current figure. The option pos is a 4-element vector
[x, y, width, height] that determines the location and size of the axes.
The values in pos are normalized in the range [0,1].
Any property/value pairs are passed directly to the underlying axes object. The full list of properties is documented at Axes Properties.
Any previously existing axes that would be (partly) covered by the newly created axes are deleted.
If the output hax is requested, subplot returns the axes handle for
the subplot. This is useful for modifying the properties of a subplot
using set
.
Under some circumstances, subplot
might not be able to identify axes
that it could re-use and might replace them. If subplot
axes
should be referenced repeatedly, consider creating and storing their axes
handles beforehand instead of calling subplot
repeatedly for the same
position.
Example:
x = 1:10; y = rand (16, 10); for i_plot = 1:4 hax(i_plot) = subplot (2, 2, i_plot); hold (hax(i_plot), "on"); grid (hax(i_plot), "on"); endfor for i_loop = 1:2 for i_plot = 1:4 iy = (i_loop - 1)*4 + i_plot; plotyy (hax(i_plot), x,y(iy,:), x,y(iy+1,:)); endfor endfor
Next: Multiple Plot Windows, Previous: Plot Annotations, Up: High-Level Plotting [Contents][Index]