# Clipping in Plots and Graphs

This example shows how MATLAB® uses clipping in plots and how to control clipping.

### What Is Clipping?

Clipping occurs when part of an object extends outside the boundaries of the axes in a plot. In MATLAB®, the part of the object that is clipped does not appear on the screen or in printed output. By default, MATLAB clips most objects at the axis limits.

### Turn Clipping Off

#### Clipping in 2-D Plots

Clipping occurs in 2-D plots. For example, MATLAB clips the sine wave in this 2-D plot.

x = 0:pi/20:2*pi; y = sin(x); plot(x,y) xlim([0,2*pi]) ylim([-0.9 0.9])

You can control the clipping of the sine wave by using the axes `Clipping`

property. Turn clipping `"off"`

to display the entire sine wave.

```
ax = gca;
ax.Clipping = "off";
```

#### Clipping in 3-D Plots

Clipping also occurs in 3-D plots. For example, MATLAB clips the surface in this 3-D plot.

figure surf(peaks) zlim([-4 4])

You can control the clipping behavior of the axes by using the axes `Clipping`

property. Turn clipping `"off"`

to display the entire surface.

```
ax = gca;
ax.Clipping = "off";
```

### Control the Clipping Style

Use the `ClippingStyle`

property to control the way clipping works with respect to the axes. If you set `ClippingStyle`

to `"3dbox"`

, then MATLAB clips objects to the volume defined by the limits of the *x-*, *y-*, and *z-*axes. If you set `ClippingStyle`

to `"rectangle"`

, then MATLAB clips objects at an imaginary rectangle drawn around the outside of the *x-*, *y-*, and *z-*axes. These plots show the difference between the two clipping styles.

### Control Text Clipping

Objects other than axes have the `Clipping`

property. MATLAB can also clip text objects at the axes plot box. For example, plot some data and add a text description. By default, the `Clipping`

property for text objects is set to `"off"`

, so if you zoom or pan, text can extend outside the axis limits.

```
figure
x = 1:10;
y = -10:10;
[X,Y] = meshgrid(x,y);
Z = X.^2-Y.^2;
surf(X,Y,Z);
ylim([-20.5 1.5])
t = text(1,7,60,"example");
```

If you set the text `Clipping`

property to `"on"`

, the full text disappears from view when the `(x,y,z)`

position of the text object, also known as the *anchor point*, is outside the axes plot box.

`t.Clipping = "on";`

If you want the text to clip at the axes plot box and show partial text, then also set the axes `ClippingStyle`

property to `"rectangle"`

.

```
ax = gca;
ax.ClippingStyle = "rectangle";
```

### Clipping and Markers

Clipping does not affect markers drawn at each data point as long as the data point itself is inside the *x-* and *y-*axes limits of the plot. MATLAB displays the entire marker even if it extends slightly outside the boundaries of the axes.

```
p = plot(1:10,'*');
p.MarkerSize = 10;
axis([1 10 1 10])
```