4 La funcin plot
1.4.1. Grficos de funciones
Los vectores constituyen los elementos claves para hacer grficos de una variable en
funcin de otra. Por lo general tenemos un conjunto de datos "x" y otro conjunto de
datos "y" relacionados entre s. Por ejemplo definamos "x=-10:0.1:10" e "y=x.^3;". Si
queremos graficar y como funcin de x escribimos en la consola: plot(x,y); .
Scilab abre entonces una nueva ventana donde hace el grfico correspondiente y que
se muestra en la Figura.
Se puede superponer un nuevo grfico sobre esta ltima figura, por ejemplo, si
escribimos plot(x,x) ; se dibuja la recta de pendiente 1 que pasa por el origen de
coordenadas y si escribimos plot(x,-x) ; la de pendiente -1. Los comandos y el
grfico se observan en las figuras que siguen.
Si se quiere hacer un grfico en una nueva ventana (es decir, sin superponer al
grfico anterior) escribimos
figure;
en la consola y eso abre una nueva ventana. Cada nueva ventana de grficos que se
abre est identificada con un nmero (ver que en el borde de la ventana dice Graphic
window number y el nmero que corresponda). El comando plot hace el grfico en la
ltima ventana abierta a menos que uno le indique algn otro nmero. Por ejemplo, si
uno escribe:
figure;
se abre una ventana (que se llamar Graphic window number 0 o ventana de grfico
nmero 0 si no haba ninguna otra previamente abierta). Si despus escribimos
plot(x,y);
el grfico de y como funcin de x aparecer en la ventana identificada con el
nmero 0.
Y si escribimos
figure(0) ;
plot(x,10-x^2) ;
ahora el grfico de 10-x^2 como funcin de x aparecer superpuesto al de y como
funcin de x en la ventana identificada con el nmero 0.
Las ventanas de figuras se pueden cerrar como cualquier ventana de windows. Los
contenidos de una ventana se pueden borrar (limpiar) sin borrar la ventana con el
comando clf. En particular, clf(); (clear figure) limpia los contenidos de la ltima
ventana abierta y clf(1); los de la nmero 1.
2.4.2. Colores y formas del grfico
Observen que en todos los casos en los grficos aparecen lneas suaves. Esto es as
porque, a menos que uno indique alguna opcin distinta, el Scilab interpola entre los
puntos del plano con abscisa igual a los valores de las componentes del vector x y
ordenada igual a las del vector y. La interpolacin se vuelve evidente para x con pocas
componentes. Por ejemplo, tomen
x=[1 2 4 6]
y grafiquen x^2 como funcin de x.
A veces uno puede querer graficar slo los puntos, sin interpolar por ninguna curva,
puede querer cambiar de color, superponer curvas con colores elegidos previamente
por uno. Todas esas son opciones al comando plot. No vamos a detallarlas todas
(pueden consultar los ejemplos de la ayuda de Scilab).
Algunos de los colores bsicos, formas y como hacer la lnea. Lo ponemos en ingls
para que se entienda la lgica de los smbolos.
Colores
b
g
r
c
m
y
k
w
Puntos
blue
green
red
cyan
magenta
yellow
black
white
Linea
.
o
x
+
*
s
d
punto
circulo
x
mas
star
square
diamond
solida
: punteada
-. punteada y discontinua
-- linea discontinua
t=0:%pi/20:2*%pi;
Esta ltima sentencia genera el vector t que toma valores entre 0 y 2
incrementndose cada /20. Despus graficamos con distintas opciones (usando el
color cyan).
Ejemplo 1:
clf();
plot(t,sin(t),'c+')
Ejemplo 2:
clf();
plot(t,sin(t),'co')
Ejemplo 3:
clf();
plot(t,sin(t),'co -. ')
2.4.3. Ttulo, leyendas en el grfico y nombres en los ejes
Muchas veces es til cuando hacemos muchos grficos en una figura ponerle el ttulo
y hacer leyendas dentro del grfico de manera tal que me permita saber que
representa cada grfico. Eso se hace con los comandos title y legend.
Las primeras dos cosas que aparecen en el comando legend son el nombre que
quiero que aparezca sobre la leyenda. El nmero 3 indica que la leyenda aparecer
en el extremo inferior izquierdo del grfico (ver Figura 2.25). Para ponerle nombre a
los ejes utilizamos los comandos xlabel e ylabel. Estos se aplican al grfico activo.
Supongamos que en este caso en el eje de las abscisas representamos el tiempo en
segundos y que en el eje de ordenadas representamos la amplitud entonces para
ponerle nombre a los ejes escribimos:
xlabel(t [s]);
ylabel(Amp [V]);
Muchas veces vamos a querer guardar las figuras con un formato que nos permita
pegarlas luego en un archivo de texto. Para eso, una vez que tengamos la ventana de
grfico abierta, vamos a file, dentro de file, vamos a exportar (ver figura 2.26)