exponenta event banner

Отсечение на графиках и графиках

В этом примере показано, как 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.