Усечение в графиках и графиках

В этом примере показано, как усечение использования MATLAB® в графиках и как управлять усечением.

Что Отсекает?

Усечение происходит, когда часть графика происходит вне контуров оси. В MATLAB® часть графика, который отсекается, не появляется на экране или в печатном выходе. Пределы по осям графика определяют контуры.

Выключение усечения

По умолчанию MATLAB отсекает графики, которые расширяют за пределами пределов осей.

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

Figure contains an axes. The axes contains an object of type surface.

Используйте оси Clipping свойство управлять поведением усечения.

ax = gca;               % get the current axis
ax.Clipping = 'off';    % turn clipping off

Figure contains an axes. The axes contains an object of type surface.

Управление стилем усечения

Используйте ClippingStyle свойство управлять способом отсечь работает. Если ClippingStyle установлен в '3dbox', затем MATLAB отсекает графики к объему, заданному пределами x, y, и осями z. Если ClippingStyle установлен в 'rectangle', затем MATLAB отсекает графики к мнимому прямоугольнику, чертившему вокруг за пределами x, y, и осей z. Графики ниже показа различие между двумя стилями усечения.

Усечение в 2D графиках

Усечение также используется в 2D графиках. Например, MATLAB отсекает синусоиду в графике ниже.

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

Figure contains an axes. The axes contains an object of type line.

Если усечение выключено, то MATLAB отображает целую синусоиду.

ax = gca;
ax.Clipping = 'off';

Figure contains an axes. The axes contains an object of type line.

Усечение и маркеры

Усечение не влияет на маркеры, чертившие в каждой точке данных, пока сама точка данных в пределах по осям X и Y графика. MATLAB отображает целый маркер, даже если это расширяет немного вне контуров осей.

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

Figure contains an axes. The axes contains an object of type line.