Está en la página 1de 43

CAPÍTULO II – GRÁFICAS

EN MATLAB
Gráficas en MATLAB
 El entorno de MATLAB ofrece una variedad de funciones para graficar datos además de
herramientas GUI para crear y modificar la visualización de gráficos.
Anatomía de las Gráficas en MATLAB
 Una FIGURA es una ventana
MATLAB que contiene la
visualización de una gráfica y
componentes GUI.

 Un TRAZADO (PLOT) es cualquier


visualización gráfica, a partir de un
conjunto de datos que se pueda
crear dentro de una ventana figura.

 Una GRÁFICA (GRAPH) es el


conjunto de uno o más trazas en
ejes bidimensionales o
tridimensionales.
Gráficos Bidimensionales
Funciones Básicas para el Trazado de una Gráfica
La función PLOT
 Es una función que gráfica sobre un eje (objeto axis) perteneciente a una ventana
figura, una traza, resultante de confrontar un conjunto de datos dado sobre otro. Para
poder utilizar la función gráfica plot se debe seguir los siguientes pasos:

 Preparar los conjuntos de datos por graficar (coordenadas de los puntos a trazar) y
cargarlos en el workspace. Estos pueden ser:

 Generados por regla de correspondencia.

 Obtenidas de alguna fuente de datos. Por ejemplo, mediante importación de


datos de una Base de Datos Externa, como Excel.
La función PLOT
 Una vez cargados en el workspace, se genera la gráfica invocando la función plot.

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
Formatos habituales de la función PLOT
 Formato básico: vector vs vector: Esto nos permitirá obtener mas de una gráfica en una
misma figura.
La función PLOT
 Para hacer gráficos simples en 2D (en el plano), inicialmente precisamos definir el
intervalo a ser utilizado para diseñar el gráfico. Para eso necesitamos 03 argumentos:

x = a:delta:b

 Donde x es un vector de puntos. Análogamente también podemos usar el comando


linspace.
x = linspace(a,b,n)

 Genera un vector de puntos con extremo izquierdo a, extremo derecho b y n puntos


en total.
 Luego podemos llamar la función plot.

plot(x,y)
Estilos de Línea
 Especificación de estilos de línea y colores. Es posible especificar el color, la línea de
estilos, y los marcadores (por ejemplo, los signos más o círculos) al trazar sus datos
utilizando el comando plot:

Especificador de línea Descripción


'-' (defecto) Línea sólida
'--' Linea discontinua
':' Linea punteada
'-.' Línea de puntos y trazos
Estilo de Marcador
Especificador de marcador Descripción
'+' Marcadores de signo más
'o' Marcadores circulares
'*' Marcadores de estrellas
'.' Marcadores de puntos
'x' Marcadores cruzados
's' Marcadores cuadrados
'd' Marcadores de diamantes
'^' Marcadores triangulares que apuntan hacia arriba
'v' Marcadores triangulares que apuntan hacia abajo
'>' Marcadores triangulares hacia la derecha
'<' Marcadores triangulares que apuntan a la izquierda
'p' Marcadores de estrella de cinco puntas
(pentagrama)
'h' Marcadores de estrella de seis puntas (hexagrama)
Estilos de Color

Triplete RGB Nombre corto Nombre largo


[1 1 0] y yellow
[1 0 1] m magenta
[0 1 1] c cyan
[1 0 0] r red
[0 1 0] g green
[0 0 1] b blue
[1 1 1] w white
[0 0 0] k black
Creando una Gráfica en 2D
 Cree una gráfica de líneas de dos dimensiones mediante la función plot. Por ejemplo,
represente el valor de la función seno de 0 a 2π.
Plot of the Sine Function
1
>> x = linspace(0,2*pi,100);
0.8
y = sin(x);
0.6
plot(x,y)
0.4

0.2
Etiquete los ejes y añada un título.

sin(x)
0

>> xlabel('x') -0.2

ylabel('sin(x)') -0.4

title('Plot of the Sine Function') -0.6

>> -0.8

-1
0 1 2 3 4 5 6 7
x
Representación de Varias Líneas
1

0.8
>> figure
0.6
x = linspace(0,2*pi,100);
y = sin(x); 0.4

plot(x,y) 0.2

0
hold on -0.2
y2 = cos(x);
-0.4
plot(x,y2)
hold off -0.6

>> -0.8

-1
0 1 2 3 4 5 6 7
Formato con Especificadores
Las funciones de trazado aceptan especificaciones de línea como argumentos y modifican el
gráfico generado en consecuencia. Puede especificar estos tres componentes:

 Estilo de línea
 Símbolo de marcador
 Color

Por ejemplo:
 plot(x,y,'-.or')

traza y frente a x utilizando una línea de guiones y puntos (-.), coloca marcadores circulares (o) en
los puntos de datos y colorea la línea y el marcador en rojo (r). Especifique los componentes (en
cualquier orden) como vector de caracteres después de los argumentos de datos. Tenga en
cuenta que las especificaciones de línea no son pares de nombre-valor.
Formato con Especificadores
1

0.8

0.6
figure
0.4
t = 0:pi/20:2*pi;
plot(t,sin(t),'-.r*') 0.2

hold on 0
plot(t,sin(t-pi/2),'--mo')
-0.2
plot(t,sin(t-pi),':bs')
hold off -0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
Formato con Especificadores

x = linspace(0,2*pi,50);
y = sin(x);
plot(x,y,':')

hold on
y2 = cos(x);
plot(x,y2,'--ro')
hold off
Formato con Propiedades
 LineWidth: especifica el ancho (en puntos) de la línea.

 MarkerEdgeColor: especifica el color del marcador o el color del borde para los
marcadores rellenos (círculo, cuadrado, rombo, pentagrama, hexagrama y los cuatro
triángulos).

 MarkerFaceColor: especifica el color de la cara de los marcadores rellenos.

 MarkerSize: especifica el tamaño del marcador en puntos (debe ser mayor que 0).
Formato con Propiedades
1

0.8

t = 0:pi/20:2*pi; 0.6
figure
0.4
plot(t,sin(2*t),'-mo',...
'LineWidth',2,... 0.2

'MarkerEdgeColor','k',... 0

'MarkerFaceColor',[.49 1 .63],... -0.2


'MarkerSize',10)
-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
Formato con Propiedades

clc;
clear;
x = (-pi:pi/10:pi);
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--s','LineWidth',2,...
'MarkerEdgeColor','r',...
'MarkerFaceColor','w',...
'MarkerSize',8);
xlabel('eje X');
ylabel('eje Y');
legend('f(x)');
Gestión de Propiedades de los Objetos Gráficos

Al crearse una gráfica a través del comando plot, se crean un conjunto de objetos
gráficos: Ventana Figure (figure), Ejes (axes) y Trazas (objetos trazados). Cada uno de ellos
poseen propiedades que pueden obtenerse a través de los comandos get y set
respectivamente.

Para crear un manipulador de las trazas (h) de una gráfica basta asignar a una variable la
salida del comando plot.

h = plot(...)

 gcf: retorna el objeto figure actual.

 gca: retorna el objeto axis actual (contenido en el objeto figure).

 h: contiene el objeto de trazado retornado por el comando plot.


Gestión de Propiedades de los Objetos Gráficos
Gestión de Propiedades de los Objetos Gráficos

clc;
clear;
t = (0:0.1:10)';
x = 0.5*exp(-0.8*t).*sin(2*pi*t) + 1;
x1 = 0.5*exp(-0.8*t) + 1;
x2 = -0.5*exp(-0.8*t) + 1;
h = plot(t,x,t,x1,t,x2);
set(h(2:3), 'LineStyle','--',...
'Color','k');
set(h,'LineWidth',2);
xlabel('tiempo');
ylabel('x(t), x_1(t), x_2(t)');
title('Senda x(t) y sus envolventes');
legend('Senda: x(t)','Envolvente:
x_1(t)','Envolvente: x_2(t)');
Control de ejes y anotaciones
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-
pi/2','0','pi/2','pi'})
title('Función Seno');
xlabel('Radianes');
ylabel('Valor de la Function');

Para asignarle un formato a los ejes:


xlabel('Radianes','FontName',
'Times',
'FontSize',17,'fontweight','bold'
);
Gráficos usando plotyy
 plotyy : Genera dos ejes verticales para dos funciones distintas

t=0:pi/20:2*pi;
y=exp(sin(t));
y1=exp(cos(t));
plotyy(t,y,t,y1,'plot','stem');
Gráficos usando loglog
x = logspace(-1,2);
loglog(x,exp(x),'-s') x = logspace(0,10);
set(gca,'FontName', 'Times', semilogx(x,3*x,'-s')
'FontSize',10,'fontweight','bold'); grid on
grid on
Comando axis
El comando axis proporciona una serie de opciones para el configuración de la escala, la
orientación y razón del aspecto de los gráficos. También puede configurar estas opciones
de forma interactiva

 El comando axis define los límites de los ejes (mínimos y máximos)


axis([xmin xmax ymin ymax])

 O para gráficos de tres dimensiones


axis([xmin xmax ymin ymax zmin zmax])

 Permite una selección automático de límites


axis auto axis equal axis square axis normal
Uso del Comando subplot
Para crear múltiples ejes en una misma ventana figura, o icho de otra manera, dividir la
actual figura dispuestos en una distribución de m filas por n columnas se utiliza la
función subplot.

h = subplot(m,n,p)

Esta función permite elegir el objeto eje p-


ésimo como eje actual retornando un
manipulador de ejes h.
Uso del Comando subplot

x=[3.2 4.1 5.0 5.6];


y=[2.5 4.0 3.35 4.9];
subplot(2,1,1)
plot(x)
subplot(2,1,2)
plot(y)
Uso del Comando subplot
t=0:0.1:2*pi;
y1=exp(sin(t));
y2=cos(t);
y3=y1./y2;
subplot(2,2,[1 3]);
plot(t,y1);
axis([0 2*pi 0 3]);
subplot(2,2,2);
plot(t,y2);
axis square
grid;
subplot(2,2,4);
plot(t,y3);
axis tight;
Otras Funciones de Trazado Bidimensional
Comando Descripción
bar Gráfico de barras

barh Horizontal bar graph


BARRAS:
bar3 Plot 3-D bar graph
Matlab cuenta con la función de trazado bar3h Plot horizontal 3-D bar graph
bar que realiza graficas de barras.
pareto Pareto chart

Tener en cuenta los siguientes comandos: stem Plot discrete sequence data

stem3 Plot 3-D discrete sequence data

scatter Gráfico de dispersión


scatter3 diagrama de dispersión tridimensional

stairs Stairstep graph


Otras Funciones de Trazado Bidimensional
Ejemplo:
Representar en graficos de barras usando las
funciones bar, barh, bar3 ybar3h las notas de
los siguientes alumnos por curso.

NOTAS
ALUMNOS
GEOMETRIA FISICA QUIMICA
Jose 14 18 16
Erik 10 13 15
Juan 12 15 17
Otras Funciones de Trazado Bidimensional
Ejemplo:
Representar en graficos de barras usando las
funciones bar, barh, bar3 ybar3h las notas de
los siguientes alumnos por curso.

NOTAS
ALUMNOS
GEOMETRIA FISICA QUIMICA
Jose 14 18 16
Erik 10 13 15
Juan 12 15 17
Otras Funciones de Trazado Bidimensional
HISTOGRAMAS :
x=-2.9:0.2:2.9; y=randn(50,1);
y=randn(5000,1); stem(y,':')
hist(y,x) title('Gráfico Stem de datos
title('Histograma de datos aleatorios')
gaussianos')
Otras Funciones de Trazado Bidimensional
CONTORNOS:

Una gráfica de contorno muestra isolineas de una Matriz Z. La etiquetación de las líneas de
contorno (curvas de nivel) se efectúa usando clabel.

clc;
clear all;
% Obtención de las matrices dominio
[x,y] = meshgrid(-2:.01:2,-2:.01:3);
% Evaluación de la función
z = x.*exp(-x.^2-y.^2);
% Obtención del trazo del contorno
[C,h] = contour(x,y,z,-0.4:0.1:0.4);
% Detalles
set(h,'ShowText','on',...
'TextStep',get(h,'LevelStep')*2,...
'EdgeColor','b');
set(gca,'FontSize',8);
axis([-2 2 -2 2]);
Gráficos Tridimensionales
Gráficos Tridimensionales
 En este tipo de gráfica, especificamos tres vectores:
x = [1 2 3 4 -1];
y = [2 -2 3 5 9];
z = [3 6 7 8 12];

 Podemos visualizar con:


stem3(x,y,z);
Gráficos Tridimensionales
CURVAS TRIDIMENSIONALES

t = 0:pi/10:10*pi;
x = t.*sin(t);
y = t.*cos(t);
z = t.^2;
plot3(x,y,z);
Gráficos Tridimensionales
GRAFICAS DE SUPERFICIES TRIDIMENSIONALES

Son aquellas superficies definidas por ternas (x,y,z) donde a cada par (x,y) se le asigna un
valor de z por medio de una regla de correspondencia.

Primero debemos crear una red de puntos dentro del dominio de x y usando la función
meshgrid.

dx = 0:4;
dy = 0:0.5:3;
[x y] = meshgrid(dx,dy);
Gráficos Tridimensionales
GRAFICAS DE SUPERFICIES TRIDIMENSIONALES

%%superficies tridimensionales
dx = 0:4;
dy = 0:0.5:3;
[x y] = meshgrid(dx,dy);
z = x.^2 + y.^2;
surf(x,y,z);
Gráficos Tridimensionales
GRAFICAS DE SUPERFICIES TRIDIMENSIONALES
Ejemplo:
Graficar la función 𝑓(𝑥,𝑦) = 𝑥 2 𝑦 − 2𝑦 sobre el
rango [-2,2]x[-1,1]. Usar un grid que conste de
cuadrados con una longitud de lado 0.1.

[x y] = meshgrid(-2:.1:2,-1:.1:1);
z = (x.^2).*y - 2*y;
surf(x,y,z);
Gráficos Tridimensionales
GRAFICAS DE SUPERFICIES PARAMETRIZADAS

phi = 0:pi/20:pi;
theta = 0:pi/20:2*pi;
[Phi,Theta] = meshgrid(phi,theta);

X = sin(Phi).*cos(Theta);
Y = sin(Phi).*sin(Theta);
Z = cos(Phi);

surf(X,Y,Z);
axis equal; %ajuste de datos
title('Esfera en R3');
Ajustar Tamaños para Guardar
 En MATLAB podemos ajustar el tamaño de la figura (gcf) y la posición donde
deseemos que aparezca. Para eso usamos el siguiente comando.

x0=10;
y0=10;
width=550;
height=400
set(gcf,'position',[x0,y0,width,height])

 Cuando la gráfica este ajustada a los valores establecidos, guardamos con el


comando:

saveas(gcf,'Plot.jpg');

También podría gustarte