Main Content

Respuesta al estado Hold

Este ejemplo muestra cómo hacer pruebas al estado hold y responder de manera adecuada en las funciones de representación definidas por el usuario.

Representar funciones cambia, por lo general, varios parámetros de ejes para alojar los distintos datos. La función myPlot3D:

  • Utiliza una vista en 2D o 3D según los datos entrantes.

  • Respecta el estado hold actual, para ser coherente con el comportamiento de las funciones de representación de 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

Por ejemplo, la primera llamada para myPlot3D crea una gráfica en 3D. La segunda llamada a myPlot3D añade los datos 2D a la vista en ·3D porque hold está en on.

[x,y,z] = peaks(20);
myPlot3D(x,y,z)
hold on
myPlot3D(x,y)