Main Content


Zoom interaction


A zoom interaction allows you to zoom into a chart without having to select any buttons in the axes toolbar. To enable zooming, set the Interactions property of the axes to a zoomInteraction object. When this interaction is enabled, you can zoom by scrolling or pinching within the chart.

When this interaction is enabled on axes with focus, you can zoom the view of the axes using the keyboard. To zoom in, press the Plus (+) or Equal (=) key. To zoom out, press the Minus (-) key. (since R2024a)

To enable multiple interactions, set the Interactions property to an array of objects.




z = zoomInteraction creates a zoom interaction object.


z = zoomInteraction('Dimensions',d) sets the Dimensions property. Use this property to constrain zooming to specific dimensions. For example, z = zoomInteraction('Dimensions','x') constrains zooming to the x-dimension.


expand all

Dimensions to allow zooming, specified as one of these values:

  • 'xyz' — Allows zooming in all dimensions.

  • 'xy' — Allows zooming in the x and y dimensions only.

  • 'yz' — Allows zooming in the y and z dimensions only.

  • 'xz' — Allows zooming in the x and z dimensions only.

  • 'x' — Allows zooming in the x dimension only.

  • 'y' — Allows zooming in the y dimension only.

  • 'z' — Allows zooming in the z dimension only.

The Dimensions property is only supported for interactions in Cartesian axes.


collapse all

Create a surface plot. Get the current axes and replace the default interactions with just the zoom interaction. Then scroll or pinch to zoom in or out.

ax = gca;
ax.Interactions = zoomInteraction;

Use the sphere function to define vectors x, y, and z. Then create a scatter plot using those vectors. Replace the default set of interactions with a zoom interaction that is restricted to the x-dimension. Then scroll or pinch within the plot to zoom.

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];
ax = gca;
ax.Interactions = zoomInteraction('Dimensions','x');


In most cases, the axes have a default set of interactions which depend on the type of chart you are displaying. You can replace the default set with a new set of interactions, but you cannot access or modify any of the interactions in the default set.

Version History

Introduced in R2019a

expand all