Este artículo será útil para quienes elaboran gráficos en el entorno de Matlab.
Al preparar gráficos para publicar artículos en revistas científicas y varios tipos de informes, a menudo me encontré con la necesidad de construir varias curvas, cada una relacionada con su eje, para no sobrecargar el artículo con gráficos y no ir más allá de su límite. Pero para esto, en Matlab antes de la versión R2014a, solo estaba el equipo de
plotyy (X1, Y1, X2, Y2) , que tiene una serie de características desagradables, por lo que era necesario usar otros programas y hacer todo manualmente, lo que, en primer lugar, complica este proceso con desde el punto de vista de un estilo único, en segundo lugar, requiere mucho tiempo y, en tercer lugar, no permite cambios rápidos.
Características y descripción desagradablesA tales características desagradables atribuiría:
1. Falta de análogo de
espera (la
espera "nativa" no funciona correctamente con plotyy). Para agregar más de 2 curvas, debe usar esta construcción:
[hAx,hLine1,hLine2] = plotyy([x1',x2'],[y1' y2'],[x3',x4'],[y3',y4']);
Una característica desagradable No. 2 se desprende de este diseño:
2. Las dimensiones de las matrices entre corchetes deben coincidir, porque A partir de ellos se forman matrices de elementos. En la práctica, esto ocurre muy raramente.
3. El diseño sufre gravemente por el hecho de que no puede cambiar mediante programación los colores y tipos de todas las líneas de una fila, solo puede formatear un conjunto de líneas relacionadas con un eje particular (hLine1 y hLine2); en cualquier caso, no podría. Al mismo tiempo, no estoy hablando de cambiar los parámetros a mano, es decir. edición en la ventana "figura" - solo directamente con el código en el archivo .m.
Resumiendo lo anterior: plotyy () no es muy adecuado para mostrar múltiples conjuntos de gráficos para diferentes ejes. A menos que para dependencias simples como estas:
x = linspace(0,10); y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*cos(10*x); y3 = 0.2*exp(-0.5*x).*cos(10*x); y4 = 150*exp(-0.05*x).*sin(x); X=[x',x']; Y1=[y1' y4']; Y2=[y2',y3']; [hAx,hLine1,hLine2] = plotyy(X,Y1,X,Y2);

O el equipo
yyaxes , que apareció en la versión Matlab R2014a. Aquí tenemos ahora dónde dar la vuelta.
Me gustaría contarles sobre las delicias de este equipo utilizando mi propio ejemplo. La tarea es que necesito construir en un gráfico 3 perfiles de temperatura (soluciones obtenidas por el método numérico directo, método de momento y valores experimentales) relacionados con el eje derecho, y 3 perfiles de presión relacionados con el eje izquierdo. Y también agregue flechas y subtítulos.
Los
comandos yyaxis left y
yyaxis right le permiten hacer frente a esta tarea a la vez. Lo que, de hecho, es la esencia. Dentro de una figura, podemos construir cualquier número de gráficos al vincularlos a uno de los ejes. Dentro del marco de cada equipo, todo funciona igual que para los horarios regulares.
La estructura de la imagen en este caso se verá así:
figure() { - , } yyaxis left { , - , , , } yyaxis right { , - , , , }
Al llenar esta estructura con lo necesario, obtenemos como resultado:

Otra característica adicional en la preparación de gráficos para imprimir es su ahorro simple y conveniente en cualquier formato compatible con Matlab. Para hacer esto, solo necesita agregar las siguientes líneas:
ResumenComenzando con la versión R2014a, Matlab se ha convertido en un programa adecuado para preparar cronogramas para publicar artículos en varias revistas científicas. Una ventaja importante es la muy buena flexibilidad de esta herramienta, que le permite procesar los resultados y presentarlos en una forma digerible y hermosa, incluso para los llamados. Procesamiento "por lotes".
Vale la pena echarle un vistazo:→ Un
artículo útil sobre gráficos en Matlab→
Descripción de yyaxis
→
Descripción de plotyy→
Gráficos de exportación