El uso de ejes secundarios en los gráficos permite comparar la tendencia de datos con diferentes unidades o rangos de valores. Permitiendo visualizar más fácilmente la relación entre estos. En el caso de MATLAB, la creación de estos gráficos se puede conseguir mediante el uso de la función yyaxis
para seleccionar el eje sobre el que se representan los datos. Facilitando así la superposición de dos conjuntos de datos. En esta entrada, se explicará cómo crear gráficos con ejes secundarios en MATLAB y personalizar opciones como los colores y las etiquetas.
Creación de un gráfico básico
Antes de poder crear un gráfico con un eje secundario en MATLAB es necesario crear un gráfico básico. Para superponer los datos en el segundo eje posteriormente. Supongamos que se dispone de dos conjuntos de datos que representan las temperaturas y la velocidad del viento registradas en un mismo periodo. Queriendo mostrar ambas series en un mismo gráfico. Pero, dado que las unidades de ambas series son diferentes, grados para la temperatura y km/h para la velocidad del viento, es necesario usar una secundario para la segunda serie.
El código básico para crear una gráfica básica en la que se muestra solo la temperatura es el que se muestra a continuación.
% Datos de ejemplo tiempo = 1:10; % Tiempo en días temperatura = [22, 23, 25, 24, 26, 28, 29, 30, 32, 33]; % Temperatura en grados Celsius velocidad_viento = [10, 12, 14, 16, 13, 15, 17, 18, 20, 19]; % Velocidad del viento en km/h % Crear la figura figure; % Graficar el primer conjunto de datos plot(tiempo, temperatura, '-o'); xlabel('Tiempo (días)'); ylabel('Temperatura (°C)'); title('Temperatura y Velocidad del Viento'); grid on;
En este código, se crea un gráfico con el tiempo en el eje x y la temperatura en el eje y, empleando la función plot()
para dibujar la línea de la temperatura. A continuación se agregan etiquetas a los ejes, mediante las funciones xlabel()
e ylabel()
, y un título para mejorar la claridad del gráfico, para lo que se ha recurrido a la función title()
.
Agregar ejes secundarios en MATLAB
Ahora que ya se ha creado la gráfica básica con la temperatura, se puede usar la función yyaxis
para indicar que las nuevas series se muestran en el eje secundario. Para lo que se debe llamar a la función seguido del eje ( left
para el primario o right
para el secundario). En el siguiente ejemplo se puede ver cómo se crea una gráfica con las dos series.
% Activar el eje y izquierdo para la temperatura yyaxis left plot(tiempo, temperatura, '-o'); ylabel('Temperatura (°C)'); % Activar el eje y derecho para la velocidad del viento yyaxis right plot(tiempo, velocidad_viento, '-s'); ylabel('Velocidad del Viento (km/h)');
En este ejemplo, antes de llamar a la función plot()
, se usa yyaxis left
para indicar que se use el eje izquierdo (primario) o yyaxis right
para el derecho (secundario). MATLAB sabe que debe usar diferentes ejes y escalas para cada conjunto de datos. Como se puede ver en el resultado, yyaxis left
se utiliza para la temperatura, y yyaxis right
para la velocidad del viento.
Personalizar los colores y las etiquetas
Ahora ya se dispone de un gráfico con dos ejes, pero puede que las opciones por defecto no sean las que se desean. Para lo que se pueden cambiar múltiples opciones. Por ejemplo, en el siguiente ejemplo se personalizan los colores de las líneas y las etiquetas del eje para mejorar la legibilidad.
% Personalizar el color de la temperatura yyaxis left plot(tiempo, temperatura, '-o', 'Color', 'b'); ylabel('Temperatura (°C)'); ax = gca; ax.YColor = 'b'; % Personalizar el color de la velocidad del viento yyaxis right plot(tiempo, velocidad_viento, '-s', 'Color', 'r'); ylabel('Velocidad del Viento (km/h)'); ax.YColor = 'r';
Respecto al ejemplo anterior, se ha especificado que se usa el color azul para la temperatura y rojo para la velocidad del viento. Además, también se han ajustado los colores de las etiquetas de los ejes para que coincidan con las líneas del gráfico, lo que facilita la asociación visual.
Ajustes finales y mejorando la presentación
Finalmente, se pueden hacer ajustes adicionales como cambiar el estilo de línea y añadir una leyenda. Asegurando de este modo que los datos sean representados con claridad.
% Establecer el estilo de línea y marcadores yyaxis left plot(tiempo, temperatura, '-o', 'LineWidth', 1.5); ylabel('Temperatura (°C)'); ax = gca; ax.YColor = 'b'; yyaxis right plot(tiempo, velocidad_viento, '-s', 'LineWidth', 1.5); ylabel('Velocidad del Viento (km/h)'); ax.YColor = 'r'; % Añadir leyenda legend('Temperatura', 'Velocidad del Viento', 'Location', 'northwest');
En este ejemplo final, se ha aumentado el grosor de las líneas para mejorar la visibilidad y agregado una leyenda para clarificar qué línea corresponde a qué conjunto de datos.
Conclusiones
Los gráficos con ejes secundarios en MATLAB son un recurso útil para representar datos con diferentes escalas de forma clara y efectiva. En esta entrada, se ha visto cómo crear un gráfico básico, añadir un eje secundario, personalizar colores y etiquetas, y realizar ajustes finales para una mejor presentación.
Estos gráficos son útiles en muchas ocasiones. Con la práctica se pueden adaptar los pasos de este tutorial para diferentes necesidades de análisis y visualización de datos.
Imagen de Artur Pawlak en Pixabay