MATLAB Function Reference Previous page   Next Page

Create axes object in tiled positions



subplot divides the current figure into rectangular panes that are numbered rowwise. Each pane contains an axes object. Subsequent plots are output to the current pane.

h = subplot(m,n,p), or subplot(mnp) breaks the Figure window into an m-by-n matrix of small axes, selects the pth axes object for for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc. For example,

plots income on the top half of the window and outgo on the bottom half. If the CurrentAxes is nested in a uipanel, the panel is used as the parent for the subplot instead of the current figure. The new axes object becomes the current axes.

If p is a vector, it specifies an axes object having a position that covers all the subplot positions listed in p.

subplot(m,n,p,'replace') If the specified axes object already exists, delete it and create a new axes.

subplot(m,n,p,'align') positions the individual axes so that the plot boxes align, but does not prevent the labels and ticks from overlapping.

subplot(h) makes the axes object with handle h current for subsequent plotting commands.

subplot('Position',[left bottom width height]) creates an axes at the position specified by a four-element vector. left, bottom, width, and height are in normalized coordinates in the range from 0.0 to 1.0.

h = subplot(...) returns the handle to the new axes object.


If a subplot specification causes a new axes object to overlap any existing axes, then subplot deletes the existing axes object and uicontrol objects. However, if the subplot specification exactly matches the position of an existing axes object, then the matching axes object is not deleted and it becomes the current axes.

subplot(1,1,1) or clf deletes all axes objects and returns to the default subplot(1,1,1) configuration.

You can omit the parentheses and specify subplot as

where m refers to the row, n refers to the column, and p specifies the pane.

Special Case - subplot(111)

The command subplot(111) is not identical in behavior to subplot(1,1,1) and exists only for compatibility with previous releases. This syntax does not immediately create an axes object, but instead sets up the figure so that the next graphics command executes a clf reset (deleting all figure children) and creates a new axes object in the default position. This syntax does not return a handle, so it is an error to specify a return argument. (This behavior is implemented by setting the figure's NextPlot property to replace.)


To plot income in the top half of a figure and outgo in the bottom half,

The following illustration shows four subplot regions and indicates the command used to create each.

The following combinations produce asymmetrical arrangements of subplots.

You can also use the colon operator to specify multiple locations if they are in sequence.

See Also

axes, cla, clf, figure, gca

Basic Plots and Graphs for more information

Previous page  sub2ind subsasgn Next page

© 1994-2005 The MathWorks, Inc.