Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gráficos 2D:
plot (+info: doc plot)
Las formas más habituales para la utilización de plot son:
plot(Y [, ’opciones de línea ’])
plot(X1, Y1 [, ’opciones de línea 1’], X2, Y2[, ’opciones de línea 2’], ...)
plot(...,'Propiedad', Valor,...)
Esta función muestra una gráfica con los valores de Yn con respecto a Xn.
Opcionalmente, tras cada par de valores Xn e Yn se pueden especificar distintos estilos
de línea. Asimismo, se pueden asignar una serie de propiedades a todas las líneas del
gráfico especificando parejas ‘Propiedad’ Valor en los argumentos. Si no se asigna
ningún estilo entonces Matlab mostrará cada línea con un estilo distinto generado
automáticamente.
8
x = 0:0.1:4; 7
y = 1./x; 6
plot(x, y) 5
4
% Se obtiene el mismo gráfico con : 3
plot(x’, y) 2
plot(x, y’) 1
plot(x’, y’) 0
0 0.5 1 1.5 2 2.5 3 3.5 4
0.8
0.6
x = linspace(-pi,pi,20); 0.4
plot(x, Y) 0
-0.2
-0.4
% Es equivalente a: -0.6
-1
-4 -3 -2 -1 0 1 2 3 4
Gráfico con el seno en dos tramos [0, 3π/8] y [5π/8, π] 1
0.9
0.8
0.7
0.4
plot(X,Y) % Esto no es lo que se esperaba!!! Hay que tener 0.3
en cuenta que se imprime por columnas 0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5
0.9
0.7
0.6
% Es equivalente a: 0.5
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5
8
x = 0:0.1:4; 7
y = 1./x; 6
plot(x, y, ‘r*’) 5
0
0 0.5 1 1.5 2 2.5 3 3.5 4
4
x = 0:0.1:20;
2
y = exp(0.1*x); 0
y1 = y.*sin(x); -2
y2 = y.*cos(x); -4
plot (x, y, 'k', x, -y, 'k', x, y1, 'k--', x, y2, 'k:') -6
-8
0 5 10 15 20
Distintos tipos de marcadores 8
4
x = 0:0.5:20;
2
y = exp(0.1*x); 0
y1 = y.*sin(x); -2
y2 = y.*cos(x); -4
plot (x, y, 'kv', x, -y, 'k^', x, y1, 'k*', x, y2, '.k') -6
-8
0 5 10 15 20
Otras propiedades 8
x = 0:0.5:20; 4
y = exp(0.1*x); 2
y1 = y.*sin(x); 0
y2 = y.*cos(x); -2
Esta función muestra un gráfico de tarta con los valores de X. Opcionalmente, se pueden
resaltar porciones utilizando la segunda llamada. Por ejemplo:
Gráfico de tarta 5%
5%
10%
40%
x = [1 1 2 3 5 8];
pie(x); 15%
25%
10%
40%
x = [1 1 2 3 5 8];
ex = [0 1 0 0 1 0]; 15%
pie(x, ex);
25%
hist (+info: doc hist)
Las formas más habituales para la utilización de hist son:
hist(X)
hist(X, nbins)
Histograma 3000
2500
x = randn(1,10000); 2000
hist(x); 1500
1000
500
0
-4 -3 -2 -1 0 1 2 3 4
500
200
100
0
-4 -3 -2 -1 0 1 2 3 4
600
uniforme 400
100
0
-4 -3 -2 -1 0 1 2 3 4
Barras verticales 2
1.8
1.6
x = 0.5:0.5:4; 1.4
y = 1./x; 1.2
bar(x, y) 1
0.8
0.6
0.4
0.2
0
-1 0 1 2 3 4 5
Barras horizontales 4.5
3.5
x = 0.5:0.5:4; 3
2.5
y = 1./x; 2
barh(x, y) 1.5
0.5
-0.5
0 0.5 1 1.5 2
Grupos de barras 2
1.8
1.6
1.4
x = 0.5:0.5:4; 1.2
y = 1./x; 1
bar(x, Y) 0.6
0.4
0.2
0
0 1 2 3 4 5
x = 0.5:0.5:4;
y = 1./x; 1.5
Y = [y' fliplr(y)']; 1
bar(x, Y, 'stacked')
0.5
0
0 1 2 3 4 5
area(X,Y)
Esta función genera un gráfico apilado, útil para mostrar las contribuciones de distintas
componentes de un todo. Si X e Y son vectores el resultado es igual a plot excepto que
se rellena el área bajo la curva. Si Y es una matriz, la función acumula los distintos
valores de las columnas de Y. X debe ser monótona.
Area 7
x = 1:10; 3
Y = [linspace(1,5,10)' ones(10, 1) 1+sin(0.5:0.5:5)'] 2
Area(x, Y)
1
0
1 2 3 4 5 6 7 8 9 10
18
x = -5:0.5:5; 16
14
Z = x'*x; 12
contour(Z) 10
2
5 10 15 20
18
16
x = -5:0.5:5; 14
Z = x'*x; 12
contour(Z, 25) 10
2
5 10 15 20
pcolor(C)
Se dibuja una matriz de celdas con colores determinados por la matriz C. Se muestran
una fila y columna menos de celdas que filas y columnas de la matriz. Esta función (si
no se especifican otros parámetros) obtiene el color para la celda (i, j) de la componente
(i, j) de la matriz C y usando el mapa de color actual (+ info: doc colormap).
Celdas coloreadas
x = -5:0.5:5;
C = x'*x;
pcolor(C)
x = -5:0.5:5;
C = x'*x;
colormap(gray);
pcolor(C)
scatter(x, y)
scatter(x, y, size)
scatter(x, y, size, color)
Hace un gráfico de dispersión con las coordenadas de x e y. Los vectores deben ser del
mismo tamaño. También se puede especificar el tamaño de los puntos y su color. Tanto
el tamaño como el color se pueden especificar para todos los puntos en conjunto o para
cada punto individualmente. Para lo primero basta con especificar con un escalar el
tamaño y con un vector de 1x3 el color (en RGB). Para lo segundo hay que
proporcionar para el tamaño de los puntos un vector (de igual longitud que x e y) y para
el color, o bien, un vector de índices (que harán referencia al colormap), o bien, una
matriz de length(x)x3 con los colores (en RGB).
x = randn(1,100); 1
y = randn(1,100); 0
scatter(x, y)
-1
-2
-3
-4 -3 -2 -1 0 1 2 3
scatter(x, y, 100) 1
-1
-2
-3
-4 -3 -2 -1 0 1 2 3
-1
-2
-3
-4 -3 -2 -1 0 1 2 3
-1
-2
-3
-4 -3 -2 -1 0 1 2 3
plotyy(X1,Y1,X2,Y2)
plotyy(X1,Y1,X2,Y2,'function1','function2')
Realiza un gráfico utilizando dos ejes verticales distintos, uno para la serie Y1 (eje de la
izquierda) y otro para la serie Y2 (eje de la derecha). Esta función es útil cuando se
desean visualizar dos series con distinta escala y/o unidades en un mismo gráfico, por
ejemplo en gráficos de temperatura y pluviometría. Se pueden especificar los nombres
de función con que se quiere mostrar el gráfico. Se puede usar cualquier función que
acepte llamadas del tipo function(x, y).
150 30
x = 1:12;
pluv = sin(linspace(pi/2,pi+3*pi/2,12))*100+100;
100 20
temp = sin(linspace(0, pi, 12))*40;
plotyy(x, pluv, x, temp)
50 10
plotyy(x, pluv, x, temp, 'bar', 'plot')
0 0
0 2 4 6 8 10 12
Gráfico con dos ejes verticales usando distintas funciones para dibujarlo 200 40
150 30
plotyy(x, pluv, x, temp, 'bar', 'plot')
100 20
50 10
0 0
0 1 2 3 4 5 6 7 8 9 10 11 12 14