← MATLAB EspañolChapter 07 of 13

Graficacion y Visualizacion

## Objetivos de Aprendizaje - Crear graficos 2D - Personalizar la apariencia de graficos - Crear graficos 3D - Exportar y guardar figuras ## Graficacion 2D Basica ### Grafico de Lineas Simple ```matlab x = 0:0.1:2*pi; y = sin(x); plot(x, y) ``` ### Multiples Lineas ```matlab x = 0:0.1:2*pi; plot(x, sin(x)) hold on plot(x, cos(x)) hold off ``` ### Graficando Funciones ```matlab fplot(@(x) sin(x), [0, 2*pi]) fplot(@(x) x^2 - 2*x + 1, [-5, 5]) ``` ## Personalizacion de Graficos ### Propiedades de Linea ```matlab x = 0:0.1:2*pi; y = sin(x); plot(x, y, 'r-', 'LineWidth', 2) % Rojo, solido, ancho 2pt ``` ### Color, Marcador, Estilo de Linea | Codigo | Propiedad | Codigo | Propiedad | Codigo | Propiedad | Codigo | Propiedad | |--------|----------|--------|----------|--------|----------|--------|----------| | `b` | Azul | `g` | Verde | `r` | Rojo | `c` | Cian | | `m` | Magenta | `y` | Amarillo | `k` | Negro | `w` | Blanco | | `-` | Solido | `--` | Rayado | `:` | Punteado | `-.` | Rayado-punto | | `.` | Punto | `o` | Circulo | `x` | X-mark | `+` | Mas | | `*` | Estrella | `s` | Cuadrado | `d` | Diamante | `^` | Triangulo | ### Marcadores ```matlab plot(x, y, 'ro-') % Circulos rojos con linea plot(x, y, 'b--') % Azul rayado plot(x, y, 'gs') % Cuadrados verdes ``` ## Ejes y Etiquetas ### Etiquetas de Ejes ```matlab x = 0:0.1:2*pi; y = sin(x); plot(x, y) xlabel('x (radianes)') ylabel('sin(x)') title('Funcion Seno') ``` ### Limites de Ejes ```matlab axis([xmin, xmax, ymin, ymax]) xlim([0, 10]) ylim([-2, 2]) ``` ### Cuadricula y Caja ```matlab grid on grid off grid minor box on box off ``` ### Ejes Iguales ```matlab axis equal % Misma escala en ambos ejes axis square % Area de grafico cuadrada ``` ## Multiples Graficos ### Subgraficos ```matlab x = 0:0.1:2*pi; subplot(2, 2, 1) plot(x, sin(x)) title('Seno') subplot(2, 2, 2) plot(x, cos(x)) title('Coseno') subplot(2, 2, 3) plot(x, tan(x)) title('Tangente') subplot(2, 2, 4) plot(x, exp(x)) title('Exponencial') ``` ### Usando hold ```matlab plot(x, sin(x)) hold on plot(x, cos(x)) hold off legend('sin', 'cos') ``` ## Graficos 2D Especializados ### Grafico de Dispersión ```matlab x = rand(50, 1) * 10; y = rand(50, 1) * 10; colors = rand(50, 1); scatter(x, y, 50, colors, 'filled') colorbar ``` ### Grafico de Barras ```matlab categorias = {'A', 'B', 'C', 'D'}; valores = [15, 30, 25, 10]; bar(categorias, valores) ylabel('Conteo') % Barra apilada bar(categorias, [15, 30; 25, 10], 'stacked') ``` ### Histograma ```matlab data = randn(1000, 1); histogram(data, 30) % 30 bins histogram(data, 'Normalization', 'pdf') ``` ### Grafico Circular ```matlab sizes = [30, 25, 20, 15, 10]; labels = {'A', 'B', 'C', 'D', 'E'}; pie(sizes, labels) ``` ### Grafico de Caja ```matlab data = randn(100, 4); boxplot(data, 'Labels', {'A', 'B', 'C', 'D'}) ylabel('Valor') ``` ### Barras de Error ```matlab x = 1:5; y = [10, 15, 12, 18, 20]; errors = [1, 2, 1.5, 2.5, 1]; errorbar(x, y, errors) ``` ## Graficacion 3D ### Grafico de Lineas 3D ```matlab t = 0:0.1:10*pi; x = cos(t); y = sin(t); z = t; plot3(x, y, z) xlabel('x') ylabel('y') zlabel('z') title('Helice') ``` ### Grafico de Superficie ```matlab [x, y] = meshgrid(-2:0.1:2, -2:0.1:2); z = x.^2 + y.^2; surf(x, y, z) xlabel('x') ylabel('y') zlabel('z') colorbar ``` ### Cuadricula de Malla ```matlab [x, y] = meshgrid(-2:0.5:2, -3:0.5:3); % x e y son cuadriculas 2D para graficacion 3D ``` ### Grafico de Contorno ```matlab [x, y] = meshgrid(-2:0.1:2, -2:0.1:2); z = x.^2 + y.^2; contour(x, y, z, 20) % 20 niveles de contorno contourf(x, y, z, 20) % Contornos llenos ``` ### Dispersion 3D ```matlab x = rand(100, 1) * 10; y = rand(100, 1) * 10; z = rand(100, 1) * 10; colors = rand(100, 1); scatter3(x, y, z, 50, colors, 'filled') ``` ### Malla y Superficie Combinados ```matlab [x, y] = meshgrid(-3:0.2:3); z = peaks(x, y); mesh(x, y, z) hold on surf(x, y, z) hold off ``` ## Estilo de Graficos ### Mapas de Color ```matlab colormap jet colormap parula colormap gray colormap hot colormap cool colormap viridis ``` ### Iluminacion y Vista ```matlab [x, y] = meshgrid(-2:0.1:2); z = peaks(x, y); surf(x, y, z) shading interp lighting gouraud material metal camlight view(45, 30) % Acimut, elevacion ``` ### Transparencia ```matlab [x, y] = meshgrid(-2:0.2:2); z = x.^2 + y.^2; surf(x, y, z, 'FaceAlpha', 0.5) % Semi-transparente ``` ## Anotaciones ### Texto ```matlab plot(0:0.1:2*pi, sin(0:0.1:2*pi)) text(pi, 0, 'sin(\pi) = 0', 'FontSize', 12) ``` ### Flechas y Formas ```matlab annotation('arrow', [0.2, 0.4], [0.8, 0.6]) annotation('rectangle', [0.2, 0.2, 0.1, 0.1]) annotation('line', [0.1, 0.3], [0.5, 0.5]) ``` ## Gestion de Figuras ### Creando Figuras ```matlab figure(1) plot(x, y) figure(2) plot(x, z) ``` ### Guardando Figuras ```matlab % Guardar como imagen saveas(gcf, 'plot.png') saveas(gcf, 'plot.jpg') saveas(gcf, 'plot.pdf') saveas(gcf, 'plot.fig') % Exportar para editar print('-djpeg', 'plot.jpg') print('-depsc', 'plot.eps') ``` ### Cerrando Figuras ```matlab close % Cerrar figura actual close all % Cerrar todas las figuras close(2) % Cerrar figura 2 ``` ## Multiples Ejes ```matlab x = 0:0.1:10; yyaxis left plot(x, sin(x)) ylabel('Sin') yyaxis right plot(x, exp(x/5)) ylabel('Exp') ``` ## Animaciones ### Animacion Simple ```matlab x = 0:0.1:10; figure for i = 1:length(x) plot(x(1:i), sin(x(1:i))) xlim([0, 10]) ylim([-1, 1]) drawnow end ``` ## Resumen - `plot()` para graficos de lineas 2D basicos - Usar `'Color', 'Marker', 'LineStyle'` para personalizacion - `xlabel()`, `ylabel()`, `title()`, `legend()` para etiquetas - `subplot()` para multiples graficos en una figura - `surf()`, `mesh()` para graficos de superficie 3D - `scatter()`, `bar()`, `histogram()` para graficos especializados - `colormap()` para cambiar colores - `saveas()` o `print()` para exportar figuras

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →