Matlab

Cómo crear gráficos con ejes secundarios en MATLAB

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;
Grafica básica con la temperatura

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)');
Grafica con la temperatura y velocidad del tiempo

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';
Cambio de los colores de los ejes para mejorar la visibilidad

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');
Ajustes finales

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

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

5 horas ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

5 días ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

3 semanas ago

This website uses cookies.