En este módulo, exploraremos técnicas avanzadas de gráficos en MATLAB que te permitirán crear visualizaciones más complejas y personalizadas. Estas técnicas son útiles para presentar datos de manera más efectiva y profesional.

Contenido

Gráficos Subplot

Los gráficos subplot permiten mostrar múltiples gráficos en una sola figura, organizados en una cuadrícula.

Ejemplo Práctico

% Crear una figura con 2 filas y 2 columnas de subplots
figure;

% Primer subplot
subplot(2, 2, 1);
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('Seno');

% Segundo subplot
subplot(2, 2, 2);
y = cos(x);
plot(x, y);
title('Coseno');

% Tercer subplot
subplot(2, 2, 3);
y = tan(x);
plot(x, y);
title('Tangente');

% Cuarto subplot
subplot(2, 2, 4);
y = exp(x);
plot(x, y);
title('Exponencial');

Explicación

  • figure: Crea una nueva figura.
  • subplot(m, n, p): Divide la figura en una cuadrícula de m filas y n columnas, y selecciona el p-ésimo subplot para el gráfico actual.
  • plot: Dibuja el gráfico en el subplot seleccionado.
  • title: Añade un título al subplot.

Gráficos con Múltiples Ejes

Puedes crear gráficos con múltiples ejes en una sola figura para comparar diferentes conjuntos de datos.

Ejemplo Práctico

% Crear una figura
figure;

% Primer eje
yyaxis left;
x = linspace(0, 10, 100);
y1 = sin(x);
plot(x, y1);
ylabel('Seno');

% Segundo eje
yyaxis right;
y2 = cos(x);
plot(x, y2);
ylabel('Coseno');

% Título y etiquetas
title('Gráfico con Múltiples Ejes');
xlabel('X');

Explicación

  • yyaxis left: Activa el eje izquierdo.
  • yyaxis right: Activa el eje derecho.
  • plot: Dibuja el gráfico en el eje activo.
  • ylabel: Añade una etiqueta al eje activo.
  • title y xlabel: Añaden un título y una etiqueta al eje X de la figura.

Gráficos Interactivos

MATLAB permite crear gráficos interactivos que responden a eventos del usuario, como clics y movimientos del ratón.

Ejemplo Práctico

% Crear una figura
figure;
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('Gráfico Interactivo');
xlabel('X');
ylabel('Seno');

% Añadir interactividad
dcm_obj = datacursormode;
datacursormode on;
set(dcm_obj, 'UpdateFcn', @myupdatefcn);

% Función de actualización del cursor de datos
function txt = myupdatefcn(~, event_obj)
    pos = get(event_obj, 'Position');
    txt = {['X: ', num2str(pos(1))], ['Y: ', num2str(pos(2))]};
end

Explicación

  • datacursormode: Activa el modo de cursor de datos.
  • set(dcm_obj, 'UpdateFcn', @myupdatefcn): Define una función de actualización personalizada para el cursor de datos.
  • myupdatefcn: Función que se ejecuta cuando el cursor de datos se mueve, mostrando las coordenadas del punto seleccionado.

Gráficos Animados

Los gráficos animados son útiles para visualizar datos que cambian con el tiempo.

Ejemplo Práctico

% Crear una figura
figure;
x = linspace(0, 2*pi, 100);
y = sin(x);
h = plot(x, y);
title('Gráfico Animado');
xlabel('X');
ylabel('Seno');

% Animar el gráfico
for k = 1:100
    y = sin(x + k/10);
    set(h, 'YData', y);
    pause(0.1);
end

Explicación

  • plot: Dibuja el gráfico inicial.
  • set(h, 'YData', y): Actualiza los datos del gráfico.
  • pause(0.1): Pausa la ejecución durante 0.1 segundos para crear la animación.

Exportación de Gráficos

MATLAB permite exportar gráficos a varios formatos, como PNG, JPEG, PDF, y más.

Ejemplo Práctico

% Crear un gráfico
figure;
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('Gráfico para Exportar');
xlabel('X');
ylabel('Seno');

% Exportar el gráfico
saveas(gcf, 'grafico.png');

Explicación

  • saveas(gcf, 'filename.ext'): Guarda la figura actual (gcf) en el archivo especificado con la extensión deseada.

Ejercicio Práctico

Ejercicio

Crea una figura con 3 subplots en una fila. El primer subplot debe mostrar un gráfico de y = sin(x), el segundo y = cos(x), y el tercero y = tan(x). Añade títulos y etiquetas a cada subplot.

Solución

% Crear una figura con 1 fila y 3 columnas de subplots
figure;

% Primer subplot
subplot(1, 3, 1);
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('Seno');
xlabel('X');
ylabel('Y');

% Segundo subplot
subplot(1, 3, 2);
y = cos(x);
plot(x, y);
title('Coseno');
xlabel('X');
ylabel('Y');

% Tercer subplot
subplot(1, 3, 3);
y = tan(x);
plot(x, y);
title('Tangente');
xlabel('X');
ylabel('Y');

Retroalimentación

  • Asegúrate de ajustar los límites del eje Y en el tercer subplot para evitar valores infinitos de la tangente.
  • Usa ylim([-10, 10]) en el tercer subplot para limitar los valores de Y.

Conclusión

En esta sección, hemos explorado técnicas avanzadas de gráficos en MATLAB, incluyendo subplots, gráficos con múltiples ejes, gráficos interactivos, gráficos animados y exportación de gráficos. Estas herramientas te permitirán crear visualizaciones más complejas y personalizadas, mejorando la presentación de tus datos. En el próximo módulo, nos enfocaremos en el análisis de datos y estadísticas en MATLAB.

© Copyright 2024. Todos los derechos reservados