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 →