Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

hold

Retain current plot when adding new plots

Syntax

hold on
hold off
hold all
hold
hold(ax,___)

Description

example

hold on retains plots in the current axes so that new plots added to the axes do not delete existing plots. New plots use the next colors and line styles based on the ColorOrder and LineStyleOrder properties of the axes. MATLAB® adjusts axes limits, tick marks, and tick labels to display the full range of data. If axes do not exist, then the hold command creates them.

example

hold off sets the hold state to off so that new plots added to the axes clear existing plots and reset all axes properties. The next plot added to the axes uses the first color and line style based on the ColorOrder and LineStyleOrder properties of the axes. This option is the default behavior.

hold all is the same as hold on. This syntax will be removed in a future release. Use hold on instead.

hold toggles the hold state between on and off.

example

hold(ax,___) sets the hold state for the axes specified by ax instead of the current axes. Specify the axes as the first input argument for any of the previous syntaxes. Use single quotes around the 'on' and 'off' inputs, such as hold(ax,'on').

Examples

collapse all

Create a line plot. Use hold on to add a second line plot without deleting the existing line plot. The new plot uses the next color and line style based on the ColorOrder and LineStyleOrder properties of the axes. Then reset the hold state to off.

x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)

hold on
y2 = cos(x);
plot(x,y2)
hold off

When the hold state is off, new plots delete existing plots. New plots start from the beginning of the color order and line style order.

y3 = sin(2*x);
plot(x,y3)

Create a figure with two subplots and assign the Axes objects to the variables ax1 and ax2. Add a line plot to each subplot. Then add a second line plot to the upper subplot.

ax1 = subplot(2,1,1);
x = linspace(0,10);
y1 = sin(x);
plot(ax1,x,y1)

ax2 = subplot(2,1,2);
y2 = cos(x);
plot(ax2,x,y2)

hold(ax1,'on')
y3 = sin(2*x);
plot(ax1,x,y3)
hold(ax1,'off')

Input Arguments

collapse all

Target axes, specified as an Axes object or a PolarAxes object. If you do not specify the axes, then hold sets the hold state for the current axes.

Tips

  • Use the ishold function to test the hold state.

Algorithms

The hold function sets the NextPlot property of the Axes or PolarAxes object to either 'add' or 'replace'.

Introduced before R2006a

Was this topic helpful?