7. GRAFICAS
FUNCIONES GRAFICAS 2D: COMANDO plot()
La función plot(x, y) permite representar en una ventana un gráfico de los puntos de y frente a los de x. En el caso de que alguno de esos datos sea una matriz, el vector se representa frente a las líneas o las columnas del vector, dependiendo de dónde se ubique la matriz.
plot() escala lineal sobre ambos ejes
plotyy() dos escalas para las ordenadas, una a la derecha y otra a la izquierda de la figura
>> x=[1:100];
>> y=x.^2;
>> z=x.^3;
Dependiendo de la escala usada la gráficas resultantes con los vectores x e y son los siguientes:
plot(x,y)
plotyy(x,y,x,z)
Dentro de cada una de estas funciones pueden añadirse opciones para mejorar ciertos aspectos secundarios de las gráficas. Estas opciones son:
title(titulo) añade un titulo al grafico
xlabel(titulo) añade una etiqueta en el eje de abcisas
ylabel(titulo) añade una etiqueta en el eje de ordenadas
text(x, y,texto) añade el texto en el punto indicado por x e y. Si son vectores el texto se repite para cada par de elementos
grid activa la cuadricula en el dibujo
>> plot(x,y), xlabel('eje de abcisas'), ylabel('eje de ordenadas');
Si quieres que se quiten la cuadricula o las etiquetas de los ejes usa grid off, xlabel off e ylabel off.
El elemento básico de los gráficos es el vector. Si se utiliza como único argumento un solo vector dibuja los n elementos del vector frente a los índices del mismo valor en abcisas.
>> x=[1, 3, -1, 7]
>> plot(x)
En el caso de utilizar dos vectores como argumentos el primero se representa en el eje de ordenadas y el segundo vector corresponde al de abcisas.
>> y=[1, 4, 5, 10];
>> plot(y,x)
Plot permite dibujar mas de una pareja de vectores como argumentos. Cada uno de los grupos de vectores se representan los pares en las ordenadas y los impares en las abcisas.
>> v=[1 4 5 7];
>> w=v.^2;
>> plot(y,x,v,w)
Como se puede ver, en el caso de que tengas que representar varias gráficas en una misma ventana, cada una de ellas se dibujará con un color diferente.
Como las matrices se guardan como vectores por columnas, cuando realizas un plot() se pueden dar los siguientes casos:
plot(A) dibuja una línea por cada columna de A en ordenadas, con el mismo índice en el eje de abcisas
plot(x,A) dibuja las columnas de A en ordenadas frente al vector x en abcisas. Hay que tener en cuenta que las dimensiones de ambas deben ser coherentes
plot(A,x) igual que el anterior, pero A va en el eje de abcisas y x en el de ordenadas
plot(A,B) dibuja las columnas de B (ordenadas) frente a las de A (abcisas), en pares de elementos
plot(A,B,C,D) igual al anterior. Las dimensiones de cada par de matrices deben coincidir
Puedes cambiar las características de las graficas representadas utilizando las siguientes opciones:
COLOR:
y amarillo m magenta c cyan
r rojo g verde b azul
w blanco k negro
ESTILO DE LÍNEA:
- líneas contiguas . líneas a puntos
-. líneas guión/punto -- líneas a trazos
MARCAS:
. puntos o círculos x marcas en x
+ marcas en + * marcas en * s cuadrados
d diamantes ^ triangulo hacia arriba v triangulo hacia abajo
< triangulo a la izq. > triangulo a la derecha p estrella de 5 puntas
h estrella de 6 puntas
Por ejemplo, si quisieras representa un grafico con cuadrados rojos y guión/punto entre marcas se haría así:
>> x=[1:100]; y=sin(x);
>> plot(x,y,'-.rs');
Si tienes un gráfico y quieres añadir nuevas líneas se utilizan los comandos hold on y hold off. El primero hace que los siguientes gráficos no borren los que ya están en la ventana de plot. hold off deshace el efecto del anterior.
En caso de que quieras pintar más de una línea en la misma ventana pero en distintas particiones se utiliza el comando subplot, que guarda en subventanas los gráficos, cada uno con sus propios ejes.
Por último, plot() permite utilizar algunas otras opciones. Para obtener más información de cuales son, escribe help plot en la ventana de comandos.