Этот пример показывает, как протестировать на hold
, утверждают и отвечают соответственно в пользовательских функциях построения графика.
Функции построения графика обычно изменяют различные параметры осей, чтобы хранить различные данные. Функция myPlot3D
:
Использует 2D или 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)