Cortes en gráficas y diagramas
Este ejemplo muestra cómo MATLAB® utiliza los cortes en las gráficas y cómo controlarlos.
¿Qué son los cortes?
Los cortes se producen cuando parte de un objeto sale de los límites de los ejes de una gráfica. En MATLAB®, la parte del objeto que se corta no aparece en la pantalla ni en la salida impresa. De forma predeterminada, MATLAB corta la mayoría de los objetos en los límites de los ejes.
Desactivar los cortes
Cortes en gráficas en 2D
Los cortes se producen en gráficas en 2D. Por ejemplo, MATLAB corta la onda sinusoidal en esta gráfica en 2D.
x = 0:pi/20:2*pi; y = sin(x); plot(x,y) xlim([0,2*pi]) ylim([-0.9 0.9])
Puede controlar los cortes de la onda sinusoidal usando la propiedad Clipping
de los ejes. Establezca los cortes en "off"
para mostrar la onda sinusoidal completa.
ax = gca;
ax.Clipping = "off";
Cortes en gráficas en 3D
Los cortes también se producen en gráficas en 3D. Por ejemplo, MATLAB corta la superficie en esta gráfica en 3D.
figure surf(peaks) zlim([-4 4])
Puede controlar el comportamiento de los cortes de los ejes usando la propiedad Clipping
de los ejes. Establezca los cortes en "off"
para mostrar la superficie completa.
ax = gca;
ax.Clipping = "off";
Controlar el estilo de corte
Utilice la propiedad ClippingStyle
para controlar cómo funciona el corte con respecto a los ejes. Si establece ClippingStyle
en "3dbox"
, MATLAB corta los objetos según el volumen definido por los límites de los ejes x, y y z. Si establece ClippingStyle
en "rectangle"
, MATLAB corta los objetos en un rectángulo imaginario dibujado fuera de los ejes x, y y z. Estas gráficas muestran la diferencia entre los dos estilos de corte.
Controlar el corte de texto
Los objetos que no son ejes tienen la propiedad Clipping
. MATLAB también puede cortar objetos de texto en el cuadro de la gráfica de los ejes. Por ejemplo, represente algunos datos y añada una descripción de texto. De forma predeterminada, la propiedad Clipping
para objetos de texto se establece en "off"
, por lo que si se acerca o aleja, o se desplaza, el texto puede extenderse más allá de los límites de los ejes.
figure
x = 1:10;
y = -10:10;
[X,Y] = meshgrid(x,y);
Z = X.^2-Y.^2;
surf(X,Y,Z);
ylim([-20.5 1.5])
t = text(1,7,60,"example");
Si establece la propiedad Clipping
del texto en "on"
, el texto completo desaparece de la vista cuando la posición (x,y,z)
del objeto de texto, también conocida como punto de anclaje, queda fuera del cuadro de la gráfica de los ejes.
t.Clipping = "on";
Si desea que el texto se corte en el cuadro de la gráfica de los ejes y que se muestre texto parcial, establezca también la propiedad ClippingStyle
de los ejes en "rectangle"
.
ax = gca;
ax.ClippingStyle = "rectangle";
Cortes y marcadores
El corte no afecta a los marcadores dibujados en cada punto de datos siempre y cuando los puntos de datos se encuentren dentro de los límites de los ejes x e y de la gráfica. MATLAB muestra el marcador completo incluso si se expande ligeramente fuera de los límites de los ejes.
p = plot(1:10,'*');
p.MarkerSize = 10;
axis([1 10 1 10])