MATLAB es un entorno de computación técnica que destaca por sus robustas capacidades de procesamiento numérico y visualización de datos. A continuación, se detallan las técnicas esenciales para la generación de gráficos bidimensionales y tridimensionales utilizando sus funciones nativas, aplicando buenas prácticas de ingeniería para la presentación de información.
- Gráficos de Líneas
La función plot es el estándar para representar series de datos en ejes cartesianos. Para representaciones tridimensionales en el espacio, se emplea la variante plot3. Esta herramienta es fundamental para analizar tendencias y comportamientos de señales a lo largo del tiempo o de una variable independiente.
% Generación de vectores para el eje X e Y
eje_x = 0:0.5:15;
eje_y = sin(eje_x) .* exp(-0.1 * eje_x);
% Configuración y trazado de la línea continua
plot(eje_x, eje_y, 'LineWidth', 2, 'Color', '#FF5733');
hold on;
% Superposición de marcadores en los puntos de datos discretos
plot(eje_x, eje_y, 'o', 'MarkerFaceColor', '#003366', 'MarkerSize', 6);
% Personalización del entorno gráfico
grid on;
title('Señal Senoidal Amortiguada');
xlabel('Tiempo (s)');
ylabel('Amplitud');
- Diagramas de Barras
La instrucción bar permite contrastar magnitudes entre diferentes categorías mediante rectángulos proporcionales. Es ampliamente utilizada en dashboards para cmoparar rendimientos, ventas o métricas discretas entre distintos grupos.
categorias = 1:8;
valores = [45, 62, 38, 75, 50, 88, 29, 67];
figure;
% Dibujo de barras con anchura ajustada, bordes definidos y color de relleno
bar(categorias, valores, 0.6, 'FaceColor', '#2E86C1', 'EdgeColor', '#1B4F72', 'LineWidth', 1.5);
% Ajustes de ejes y etiquetas
set(gca, 'XTick', categorias);
ylabel('Rendimiento (%)');
title('Métricas por Categoría');
grid on;
- Gráficos Circulares (Pie)
Los gráficos circulares son ideales para ilustrar la distribución porcentual de un todo. MATLAB ofrece pie para proyecciones planas y pie3 para una perspectiva volumétrica, facilitando la comprensión de las proporciones relativas de cada segmento.
porcentajes = [25, 15, 30, 10, 20];
etiquetas = {'Sector A', 'Sector B', 'Sector C', 'Sector D', 'Sector E'};
figure;
% Representación bidimensional
subplot(1,2,1);
pie(porcentajes, etiquetas);
title('Distribución de Mercado 2D');
% Representación tridimensional
subplot(1,2,2);
pie3(porcentajes, etiquetas);
title('Distribución de Mercado 3D');
- Histogramas
Para analizar la frecuencia y distribución de variables continuas, se utiliza histogram (o hist en versiones legacy). Esta función agrupa los datos en intervalos (bins), lo que es crucial para evaluar la normalidad, dispersión y sesgo de un conjunto de muestras.
% Generación de datos aleatorios con distribución normal
muestras = normrnd(50, 15, 1, 500);
num_intervalos = 25;
figure;
% Trazado del histograma con personalización de colores
histogram(muestras, num_intervalos, 'FaceColor', '#27AE60', 'EdgeColor', '#145A32');
title('Distribución de Frecuencias');
xlabel('Valores de la Muestra');
ylabel('Frecuencia Absoluta');
- Mapas de Calor (Heatmaps)
La función heatmap transforma matrices numéricas en representaciones visuales codificadas por colores. Esto facilita la identificación rápida de patrones, correlaciones y valores atípicos en conjuntos de datos matriciales. La paleta de colores se controla mediante el comando colormap.
% Creación de una matriz de datos (ej. matriz mágica escalada)
matriz_datos = magic(6) * 10;
figure;
% Generación del mapa de calor
h = heatmap(matriz_datos);
% Aplicación de un mapa de colores secuencial
colormap('parula');
% Configuración de etiquetas del objeto heatmap
h.Title = 'Matriz de Intensidad';
h.XLabel = 'Índice de Columnas';
h.YLabel = 'Índice de Filas';
- Gráficos de Dispersión
Aunque plot puede simular dispersión utilizando marcadores, scatter es la herramienta óptima. Permite mapear variables adicionales de manera nativa, asignando diferentes tamaños y colores a cada punto individual para representar hasta cuatro dimensiones de datos en un solo gráfico 2D.
% Datos de coordenadas con correlación y ruido
coord_x = randn(1, 60) * 10;
coord_y = coord_x * 0.8 + randn(1, 60) * 5;
% Tamaños y colores aleatorios para cada punto (4ta dimensión)
tamanos = randi([20, 150], 1, 60);
colores = rand(1, 60);
figure;
% Uso de scatter para dispersión avanzada con relleno y bordes
scatter(coord_x, coord_y, tamanos, colores, 'filled', 'MarkerEdgeColor', 'k');
% Configuración del mapa de colores, barra de colores y entorno
colormap('jet');
colorbar;
grid on;
xlabel('Variable Independiente X');
ylabel('Variable Dependiente Y');
title('Análisis de Dispersión Multidimensional');