В этом примере показано, как протестировать hold
состояние и соответствующий ответ в пользовательских функциях построения графика.
Функции построения графика обычно изменяют различные параметры осей, чтобы включать различные данные. The myPlot3D
функция:
Использует 2-D или 3-D представление в зависимости от входных данных.
Уважает ток hold
состояние, чтобы соответствовать поведению MATLAB® Функции построения графика.
function myPlot3D(x,y,z) % Call newplot to get the axes handle cax = newplot; % Save current hold state hold_state = ishold; % Call plotting commands to % produce custom graph if nargin == 2 line(x,y); % Change view only if hold is off if ~hold_state view(cax,2) end elseif nargin == 3 line(x,y,z); % Change view only if hold is off if ~hold_state view(cax,3) end end grid on end
Для примера первый вызов myPlot3D
создает 3-D график. Второй вызов myPlot3D
добавляет 2D данные к представлению 3-D, потому что hold
является on
.
[x,y,z] = peaks(20);
myPlot3D(x,y,z)
hold on
myPlot3D(x,y)