0% encontró este documento útil (0 votos)
316 vistas8 páginas

Gráficos en Octave: Funciones y Exportación

Este documento describe cómo crear y personalizar gráficos en Octave. Explica cómo usar la función plot() para trazar curvas, agregar etiquetas como títulos y leyendas, y graficar múltiples curvas en una misma figura. También cubre cómo exportar gráficos a archivos para incluirlos en documentos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
316 vistas8 páginas

Gráficos en Octave: Funciones y Exportación

Este documento describe cómo crear y personalizar gráficos en Octave. Explica cómo usar la función plot() para trazar curvas, agregar etiquetas como títulos y leyendas, y graficar múltiples curvas en una misma figura. También cubre cómo exportar gráficos a archivos para incluirlos en documentos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

6.

Graficos
Octave es una poderosa herramienta para manipular datos gracias a su ca-
pacidad de calculo numerico. Sin embargo, ver resultados numericos no siempre
es util. En muchsimos casos resulta de mayor utilidad interpretar los resultados
de forma grafica. Para ello Octave cuenta con una gran variedad de funciones
destinadas a realizar graficos. Entre ellas encontramos plot(), stem(), bar(),
6 GRAFICOS

polar(), semilogx(), y muchas otras. A modo de ejemplo, se explicara la fun-


cion plot() que sera de mayor utilidad en la materia, pero se debe tener en
cuenta que el uso de las otras funciones destinadas a realizar graficos es similar.
La funcion plot() puede tomar multiples argumentos, sin embargo en su
forma mas simple tiene un unico argumento, los valores del eje y.

>> y=(1:10).^2;
>> plot(y);
>>

De esta manera se obtiene como resultado el siguiente grafico.

En este caso, el eje y toma los valores del vector y mientras que el eje x rep-
resenta el xesimo elemento del vector. Esta asignacion al eje x puede no ser
representativa de los valores graficados, por ello la funcion plot() nos permite
asignarle valores especficos a cada uno de los ejes, como se ve en el siguiente
ejemplo.

>> x=(-1:0.1:1);
>> y=x.^2;
>> plot(x,y);
>>
6 GRAFICOS

Suele ser necesario tener que graficar mas de una curva en un mismo grafico.
Hay dos formas de hacer esto y cada una tiene sus ventajas y desventajas.

>> x1=(0:0.1:1);
>> y1=x1.^2;
>> x2=x1;
>> y2=x2.^3;
>> plot(x1,y1,x2,y2);
>>
6 GRAFICOS

>> x1=(0:0.1:1);
>> y1=x1.^2;
>> x2=x1;
>> y2=x2.^3;
>> hold on;
>> plot(x1,y1);
>> plot(x2,y2);
>>

En el primer ejemplo podemos observar que las curvas se diferencian por su


color, cosa que no ocurre en el segundo caso. Ademas en el primer caso vemos
que el grafico se produce con una unica invocacion a la funcion plot(). Sin
embargo, es necesario que todas las variables esten disponibles al momento de
realizar el grafico, lo cual puede no ocurrir en algunos casos.
En el segundo ejemplo para graficar simultaneamente distintas curvas es
necesario indicarle al programa que una nueva invocacion a plot() no debe
borrar los graficos realizados anteriormente. Esto se logra con el commando
hold on. De forma similar, si es necesario volver a indicarle al programa que
solo debe graficar la ultima invocacion de la funcion plot(), se debe usar el
comando hold off. Por defecto, el commando hold se encuentra en el estado
off.
El segundo inconveniente en la segunda implementacion es que ambas cur-
vas se encuentran graficadas con un mismo color. Como es de esperarse, uno
puede elegir con que color graficar las curvas. Para ello, es necesario dar un
tercer argumento a la funcion plot(). Este tercer argumento es una cadena de
caracteres que le da indicaciones a la funcion sobre la estetica de la curva a
graficar. La cadena de caracteres tiene tpicamente tres caracteres que definen
el color, el estilo de lnea entre puntos y el tipo de marcador (ver cuadro 1).
Por ultimo, existen otros argumentos que pueden ser especificados para con-
trolar otros aspectos visuales del grafico como el espesor de la lnea, el tamano
del marcador y los colores del marcador entre otros. Estos argumentos van de a
pares, donde el primero indica la propiedad y el segundo el valor que se le asigna
6 GRAFICOS

Estilo de Lnea Tipo de Marcador Color


Caracter Descripcion Caracter Descripcion Caracter Descripcion
- Lnea solida + Signo mas r Rojo
--3 Lnea a trazos o Crculo g Verde
-.3 Lnea trazo-punto * Asterisco b Azul
:3 Lnea punteada . Punto c Cyan
none Sin lnea x Cruz m Magenta
s3 Cuadrado y Amarillo
d3 Diamante k Negro
^ Triangulo w Blanco
v3 Triangulo
>3 Triangulo
<3 Triangulo
p3 Pentagrama
h3 Hexagrama
none Sin marcador

Cuadro 1: Descripcion de caracteres para el formato de los graficos

(por ejemplo: plot(x,y,propiedad1,valor1,propiedad2,valor2,...)).


Para mas detalles puede referirse a

[Link]

El siguiente es un ejemplo de como dar formato a distintas curvas en un


mismo grafico.

>> t=(0:0.2:10);
>> f1=100;f2=200;f3=300;f4=50;
>> x1=sin(2*pi*f1*t*1e-3);
>> x2=sin(2*pi*f2*t*1e-3);
>> x3=sin(2*pi*f3*t*1e-3);
>> x4=sin(2*pi*f4*t*1e-3);
>> hold on
>> plot(t,x1,r,linewidth,3);
>> plot(t,x2,bo,markersize,15);
>> plot(t,x3,k^-,markersize,15);
>> plot(t,x4,gx,markersize,15);
>>

3 Solo MATLAB
6 GRAFICOS

Ahora las curvas tienen distinto formato, sin embargo todava faltan ele-
mentos en el grafico. Una persona que observe este grafico puede preguntarse:
Que se muestra en este grafico? Que representan los ejes del grafico? Que rep-
resenta cada una de las curvas? Para responder estas preguntas es necesario
agregar las etiquetas correspondientes que brinden la informacion necesaria.
Para ello existen un grupo de funciones que se encargan de agregar estas eti-
quetas. Las mas importantes son: title(), xlabel(), ylabel y legend(). En
el siguiente ejemplo se agregan todas estas etiquetas al ultimo grafico.

>> title(Funciones armonicas a distinta frecuencia)


>> xlabel(Tiempo [ms])
>> ylabel(Amplitud)
>> leyenda1=sprintf(f1 = %u,f1);
>> leyenda2=sprintf(f2 = %u,200);
>> leyenda3=sprintf(f3 = %u,300);
>> leyenda4=sprintf(f4 = %u,50);
>> legend(leyenda1,leyenda2,leyenda3,leyenda4)
>> legend(boxon)
>> legend(right)
>>
6 GRAFICOS

Existen otras funciones para manipular propiedades de los graficos como


axes(), axis(), grid y otras. Para conocer como funcionan, se recomienda
consultar el comando help.
Como ultimo detalle, mediante el comando figure() pueden generarse dis-
tintos graficos, es decir, nuevas ventanas en donde graficar las distintas variables.
Como argumento (opcional) esta funcion toma el numero de identificacion de
cada ventana. Si ningun numero es especificado, por defecto se toma el siguiente
valor disponible. En el siguiente ejemplo

>> figure(2)
>> figure
>> figure
>>

primero se genera la Figura 2, luego la Figura 1 y finalmente la Figura 3.

>> figure
>> figure
>> figure(1),hold on;
>> plot(t,x1,b,linewidth,3),plot(t,x2,r,linewidth,3);
>> figure(2),hold on;
>> plot(t,x3,b,linewidth,3),plot(t,x4,r,linewidth,3);
>>

En este ultimo ejemplo, primero se generan dos figuras. Luego, se activa la


figura 1 en donde se grafican en forma simultanea las variables x1 y x2 (las
dos funciones seno). Finalmente se activa la figura 2 en donde se grafican en
forma simultanea las variables x3 y x4 (las dos funciones coseno).

6.1. Exportar graficos


Una vez que el grafico esta terminado, es necesario exportarlo para poder
utilizarlo en un documento. La funcion print() se encarga de imprimir el
grafico a un archivo. Esta funcion tiene numerosos usos ademas de exportar
6 GRAFICOS

graficos, los cuales no seran explicados en este tutorial. Para exportar a un


archivo, es necesario primer especificar la ubicacion y nombre del archivo. Si
este argumento no es especificado, el programa toma por defecto que el grafico
debe ser impreso por la impresora. El segundo argumento especifica las opciones
de impresion. Para indicar que la figura debe ser guardada como un archivo
especfico debe usarse la opcion -dXXX donde XXX es el tipo de archivo. Los
mas comunes son: ps, eps, png, jpg, gif, pdf. Para mas informacion consultar
help print. A continuacion se muestra a modo de ejemplo como se exporta el
grafico de las funciones armonicas en formato PNG.

>> print(figura [Link],-dpng)


>>

También podría gustarte