Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gnu Plot
Gnu Plot
Como podemos observar, el escritorio del usuario root es distinto al escritorio que tiene otro usuario cualquiera. Una vez dentro del sistema, vamos a comenzar a instalar la aplicacin que deseamos. Para ello vamos a utilizar un paquete que se instala con el sistema operativo LinEx que se llama Synaptic. Para acceder a dicho paquete pulsamos sobre el icono correspondiente que es el Administrador de paquetes , cuyo icono es:
25 - 2 -
Cuando arrancamos el Synaptic, vamos a suponer que este ya est configurado de forma correcta para bajar de Internet cualquier paquete que deseemos. Lo primero que tenemos que hacer es localizar en el listado de paquetes que aparece el paquete que queramos instalar. Para ello teclearemos, en la ventana que pone Encontrar paquete, el nombre del paquete que queramos instalar. En este caso GNUPLOT.
Una vez localizado el paquete, leemos atentamente la informacin que el programa nos proporciona sobre el mismo. Seguidamente pulsamos el botn instalar, con lo que le indicaremos al sistema que deseamos instalar esa aplicacin. Por ltimo, pulsamos el botn ejecutar. El sistema nos informar de las operaciones que va a realizar para instalar el paquete que hemos seleccionado. Le indicaremos que ejecute todas esas operaciones. Seguidamente el sistema comenzar a trabajar instalando la aplicacin matemtica que hemos seleccionado. Al final nos volver a aparecer la pantalla inicial del Synaptic, lo que nos indicar que el proceso de instalacin ha concluido. El paquete ya est listo para ser utilizado por cualquier usuario, incluido el root. Para utilizarlo con un usuario distinto al root, finalizamos la sesin que tenemos abierta y abrimos una sesin con otro usuario cualquiera. Cuando estemos como un usuario normal, podemos ejecutar la aplicacin instalada directamente. Para ello abrimos un terminal siguiendo las instrucciones que se indican en el siguiente grfico y pulsando en la opcin terminal: 25 - 3 -
Cuando abramos el terminal, nos aparecer una pantalla como la siguiente. En ella tecleamos el nombre del paquete que hemos instalado, en este caso drgenius, pulsamos la tecla Enter y ya lo podemos utilizar.
25 - 4 -
Representaciones bidimensionales con distintos estilos (puntos, lneas, barras ...). Representaciones tridimensionales (contorno y superficie). Facilidades para etiquetar las grficas, ejes y puntos representados (ttulos y etiquetas). Permite realizar clculos con enteros, decimales y complejos. Posee un conjunto de funciones predefinidas y permite al usuario definir las suyas propias. Ayuda en lnea. Funciona en distintos SO y permite obtener grficos en casi cualquier formato. Permite trabajo interactivo o en modo comando (batch).
1.2. INICIAR Y FINALIZAR GNUPLOT La forma ms comn de utilizar Gnuplot es de forma interactiva en un entorno grfico. Para el caso de LinEx, desde las X, en un terminal teclear "Gnuplot". Aparece un mensaje de saludo y el prompt de Gnuplot segn podemos observar en la siguiente imagen: 25 - 5 -
Para salir basta con teclear "quit" o Ctrl-D. El sistema de ayuda en lnea de Gnuplot se invoca desde el prompt de la aplicacin con el comando "help" seguido opcionalmente por el comando u opcin de la que se quiere informacin. Gnuplot posee multitud de opciones cuyos valores se pueden consultar con el comando "show" y se pueden cambiar con el comando "set". Para ms informacin sobre todos las opciones disponibles, debemos teclear "help set" y obtendremos una ventana como la siguiente:
25 - 6 -
2. SINTAXIS DE GNUPLOT 2.1. INTRODUCCIN DE ECUACIONES Y FUNCIONES Para Gnuplot la variable independiente se llama X en grficos bidimensionales, y X e Y en los tridimensionales En general la sintaxis (y precedencia) a la hora definir frmulas es la misma que se usa en Java o en C. La diferencia ms destacada es que los exponentes se expresan precedidos por "**". Se pueden usar parntesis para cambiar el orden de evaluacin. La lista de todos los operadores se puede obtener con "help expressions" y luego "operators" desde el prompt de Gnuplot. Con esto obtenemos la siguiente pantalla:
25 - 7 -
Gnuplot tambin ofrece unas funciones predefinidas. La sintaxis nuevamente es como la de Java o C. A modo de ejemplo tenemos las siguientes:
Funciones trigonomtricas: sin, cos, tan. Su argumento es un nmero en radianes o grados (ver "help angles"). El nmero pi es una constante predefinida: sin(pi/2)=1. Vamos a representar la funcin
sin( x) si 0 x < 1 f ( x) = 1 si 1 x < 2 x
f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0 plot f(x)
La parte 1/0 se la ponemos para indicarle que en el resto no est definida. Cunado pulsamos Enter obtenemos la siguiente pantalla:
25 - 8 -
Inversas de las funciones trigonomtricas: asin, acos, atan. Devuelven un ngulo en radianes o grados (ver "help angles" en la imagen siguiente).
25 - 9 -
Funciones hiperblicas y sus inversas. Logaritmo en base e y su inversa y logaritmo en base 10: log, exp, log10. Para ver una lista completa de las funciones disponibles, teclear "help function" en el prompt de Gnuplot.
El usuario puede definir sus propias constantes y funciones. La definicin de una constante es:
Nombre de la constante '=' ecuacin. Ejemplos: o pi = 3.1416 o i = sqrt(-1) Para las funciones es semejante: nombre de funcin '(' lista de variables separadas por comas en caso que la funcin tenga ms de un parmetro ')' '=' ecuacin. o f(x) = rand(x) o min(a,b) = (a < b) ? a : b
2.2. OPCIONES DE REPRESENTACIN. Una de las caractersticas de Gnuplot es la gran cantidad de opciones para conseguir el acabado deseado: tipos de lnea y colores utilizados, ttulos de ejes y grfica, clave, etiquetas y flechas... La lista es casi interminable. Existen dos formas de especificar las opciones:
Utilizando los comandos set y show para establecer y mostrar su valor. Estas opciones se mantienen vigentes hasta que se modifiquen nuevamente con el comando set Como parmetros especficos de una orden de representacin grfica (plot y splot). A diferencia del caso anterior, son opciones que slo afecta a la representacin grfica actual.
2.3. UN EJEMPLO Supongamos que queremos obtener una grfica de sin(x). Entonces deberamos escribir lo siguiente: Gnuplot> set title "Grfica del seno" Gnuplot> plot [-pi:pi] sin(x)
25 - 10 -
Esto har aparecer otra ventana con la grfica. Si nos equivocamos o queremos realizar alguna modificacin podemos utilizar los cursores para movernos por el historial (arriba o abajo) y desplazar el cursor al lugar donde queremos hacer el cambio (izquierda o derecha). De esta manera es muy cmodo obtener la grfica de sin(2*x). Gnuplot> set title "Grfica del seno del ngulo doble" Gnuplot> plot [-pi:pi] sin(2*x)
25 - 11 -
3. GRFICAS 2D La orden para realizar representaciones bidimensionales es plot. Su uso ms simple es el siguiente:
plot funcion
plot sin(x)*(1-exp(x))
25 - 12 -
plot cosh(x)
25 - 13 -
La escala elegida para esta grfica no demasiado buena. Nos dice que para valores grandes de X la funcin toma valores muy grandes, pero si queremos ver lo que pasa en un entorno de 0, tendremos que cambiar la escala. Gnuplot utiliza un mecanismo de autoescalado que ajusta la grfica de forma que quepa en la superficie de dibujo. La sintaxis para cambiar la escala es la siguiente:
plot [x1:x2][y1:y2] funcion. plot [x1:x2] funcion (para ajustar el eje X). plot [][y1:y2] funcion (para ajustar el eje y).
Vamos a dibujar la grfica del coseno hiperblico observando lo que pasa cerca del origen. Escribimos
Ntese que si se cambia la escala para un grfico, permanecer cambiada para las siguientes representaciones. Para volver a la escala original existen los comandos:
set xrange [-10:10] para la coordenada X. set yrange [-10:10] para la coordenada Y. Al igual que el anterior fija el valor del rango para la coordenada especificada. 25 - 14 -
set autoscale para permitir que los ejes se autoajusten para que la grfica quede lo mejor posible dentro del rea de dibujo. Es posible especificar los ejes a los que se permite el autoescalado.
Para ms informacin se deber consultar la ayuda en lnea. Si se quiere ver el aspecto de la funcin cosh(x) para y=[0,10]:
4. GRFICAS 3D El comando para realizar grficas tridimensionales es splot. Su forma ms sencilla es la siguiente:
splot funcion
splot -x+y+3*cos(x*y)
Y obtendramos lo siguiente: 25 - 15 -
splot [x1:x2][y1:y2][z1:z2] funcion splot [x1:x2] funcion splot [][y1:y2] funcion splot [][][z1:z2] funcion
Para modificar los rangos de las variables se pueden usar las opciones "set xrange [x1:x2]", "set yrange [y1:y2]", "set zrange [z1:z1]". Es importante recordar que si se modifica un rango para una grfica, ese mismo rango se utilizar para todas las grficas posteriores. Si se desea volver a activar el autoescalado de Gnuplot se puede hacer tecleando "set autoescale z". 4.1. ELEMENTOS OCULTOS EN 3D Algunas veces los grficos 3D pueden ser complicados de interpretar porque se mezclan lneas que estn en primer plano con lneas que, si la figura fuera opaca, estaran ocultas. Veamos por ejemplo la siguiente funcin f ( x) = 2( x 2 + y 2 )e x y
2 2
En esta grfica se ha usado el comando "set grid" para ver la rejilla inferior. Para intentar hacer ms visible la grfica usaremos el comando "hidden3d":
25 - 17 -
4.2. AUMENTAR LA PRECISIN DE LOS GRFICOS 3D La grfica anterior da la impresin de ser muy tosca. Para mejorar la apariencia y reducir el aspecto no uniforme de la grfica es necesario aumentar la resolucin. En las grficas 2D esto se consigue con el comando "set samples", y para 3D con "set isosamples". Normalmente slo ser necesario aumentar la resolucin en grficos 3D. La sintaxis del comando es:
Por defecto ambas tasas tienen valor 10, e indican el tamao de la rejilla de puntos en la que se evala la grfica. Probemos a aumentar la resolucin del grfico:
set isosamples 30,30 set hidden3d splot [-2:2] [-2:2] 2*(x**2 + y**2)*exp(-x**2 - y**2)
25 - 18 -
Es importante advertir que cuanto mayor sea la resolucin del grfico, ms tiempo tardar Gnuplot en procesar la grfica. En general es raro utilizar tasas superiores a 100. 4.3. LNEAS DE CONTORNO. Las lneas de contorno tambin facilitan la visualizacin de grficos tridimensionales. Pueden elegirse que aparezcan en un plano, al estilo de lneas de nivel, o directamente sobre la propia grfica. Los comandos relacionados con las lneas de contorno son los siguientes:
set contour base. Dibuja lneas de contorno en un plano en la base de la grfica. set contour surface. Dibuja lneas de contorno sobre la propia figura. set contour both. Dibuja las lneas de contorno tanto en la base como en la figura. set nocontour. Se deja de dibujar las lneas de contorno.
La opcin "set contour surface" no est disponible si tambin se quiere usar hidden3d. A continuacin se muestran un par de ejemplos: 25 - 19 -
set hidden3d set contour base splot [-2:2] [-2:2] 2*(x**2 + y**2)*exp(-x**2 - y**2)
set nohidden3d set contour surface splot [-2:2] [-2:2] 2*(x**2 + y**2)*exp(-x**2 - y**2)
25 - 20 -
Si nicamente se desean las lneas de contorno, debemos usar la opcin "set nosurface" ser la que debemos utilizar:
25 - 21 -
Para ms informacin, consltese "help set surface". La forma en que se dibujan las lneas de contorno puede variarse con la opcin "cntrparam". Por ejemplo si slo interesan las lneas de contorno para z=.2,.4,.6, se puede conseguir escribiendo el siguiente comando antes de dibujar la grfica:
4.4. CAMBIAR EL PUNTO DE VISTA DE UNA GRFICA Muchas veces es deseable cambiar el punto de vista de una grfica. El comando "set view" permite realizar el cambio de perspectiva. La sintaxis es la siguiente:
Donde rot_x y rot_z indican los ngulos (en grados) que se debe rotar la grfica entorno a los ejes X y Z de un sistema de referencia alineado con la pantalla, en que el eje horizontal es el eje X, el vertical es el eje Y, y el eje Z sera perpendicular al monitor. El tercer nmero controla la escala de todo el grfico (acta como un zoom) y el cuarto slo la escala del eje Z. Los valores por defecto son "set view 60,30,1,1". Ejemplos:
25 - 22 -
25 - 23 -
25 - 24 -
25 - 25 -
5. REPRESENTACIONES PARAMTRICAS Gnuplot permite representar ecuaciones paramtricas. Para cambiar al modo paramtrico se debe teclear lo siguiente:
set parametric
set noparametric
x = 5 cos(t ) y = 2 sen(t )
set parametric
Al escribir esto la aplicacin nos informa que para las curvas se utilizar el parmetro t y para las superficies se utilizarn los parmetros u y v.
set xrange [-6:6] set yrange [-6:6] set trange [0:2*pi] set isosamples 60 plot 5*cos(t),2*sin(t)
25 - 26 -
Los valores de xrange e yrange indican los rangos que se van a dibujar en la grfica, mientras que trange es el rango de valores que va a tomar la variable paramtrica t. Si se indica un rango para el comando plot, este se referir al trange. La primera parte de la ecuacin paramtrica nos da el valor de X, y la parte tras de la coma el valor de Y. Veamos otro ejemplo:
5.2. REPRESENTACIONES PARAMTRICAS 3D Gnuplot tambin permite realizar grficos paramtricos tridimensionales. Las variables paramtricas son "u" y "v", y se utilizan xrange, yrange y zrange para determinar el tamao del grfico. Los rangos uragne y vrange determinan los rangos de las variables paramtricas. Por ejemplo:
set xrange [-1:1] set yrange [-1:1] set zrange [-2:2] set isosamples 20 25 - 27 -
La mayor parte de las opciones para grficos 3D tambin se pueden usar en los grficos paramtricos. 6. GRFICAS EN COORDENADAS POLARES Para representar funciones en coordenadas polares tenemos que activar la opcin:
set polar
set nopolar
En coordenadas polares la variable t se refiere al ngulo. Se dispone de la opcin "set trange [t1:t2]" para indicar el intervalo en el que queremos que se represente nuestra figura. Por defecto se har entre 0 y 2*pi. El grfico se representa en un rea rectangular; las opciones "set xrange" y "set yrange" modificarn tanto la altura como la anchura. Por ejemplo: 25 - 28 -
25 - 29 -
Por defecto Gnuplot interpretar todos los ngulos en radianes. Para cambiar este comportamiento se pueden usar las siguientes expresiones:
El equivalente a coordenadas polares para 3D son coordenadas esfricas y cilndricas, pero Gnuplot slo permite utilizarlas cuando se representan ficheros de datos. Para ms informacin vase "help set mapping" o Seccin 7.1 en el presente manual. 7. REPRESENTACIONES DE DATOS 7.1. REPRESENTACIN 2D DE DATOS Una de las principales caractersticas de Gnuplot es la posibilidad de representar listados de datos numricos. El siguiente listado son los resultados de calcular el rea bajo una curva por mtodos numricos. La primera columna es el nmero de subintervalos utilizados, la segunda la anchura, y la tercera y cuarta columnas son el valor calculado y el error cometido frente al valor real. # rea.dat # number of subint. - width of subinterval, computed value, abs. error 0 1 5 0.00673794699908559 1 0.5 5.0009765625 0.00576138449908559 2 0.25 5.00317121193893 0.00356673506015159 3 0.125 5.00478985229103 0.00194809470805701 4 0.0625 5.00572403277733 0.0010139142217529 5 0.03125 5.00622120456923 0.000516742429855555 6 0.015625 5.00647715291715 0.000260794081935245 7 0.0078125 5.00660694721608 0.000130999783004349 8 0.00390625 5.00667229679632 6.56502027673866e-05 9 0.001953125 5.0067050843668 3.28626322820824e-05 10 0.0009765625 5.0067215063061 1.64406929883398e-05 11 0.00048828125 5.00672972430911 8.22268997247022e-06 12 0.000244140625 5.00673383506831 4.11193077187733e-06 13 0.0001220703125 5.00673589088727 2.05611181058885e-06 14 6.103515625e-05 5.00673691890656 1.02809252577885e-06 15 3.0517578125e-05 5.00673743294363 5.14055459532869e-07 16 1.52587890625e-05 5.00673768996904 2.57030048800289e-07 17 7.62939453125e-06 5.00673781848355 1.28515534214557e-07 18 3.814697265625e-06 5.00673788274127 6.42578132925564e-08 19 1.9073486328125e-06 5.00673791487013 3.21289537197345e-08 20 9.5367431640625e-07 5.00673793093482 1.60642699142954e-08 21 4.76837158203125e-075.00673793896686 8.03222910406021e-09 25 - 30 -
Las lneas que empiezan por # son comentarios y se ignoran. Es conveniente que los datos estn en un fichero, por ejemplo area.dat, aunque tambin se podran introducir en el prompt de Gnuplot. Se obtendra la representacin grfica con el siguiente comando:
plot "area.dat"
Esta grfica representa puntos (X,Y) donde X se obtiene de la primera columna e Y de la segunda. Para conseguir que la grfica sea ms fcil de leer se podra teclear lo siguiente (ver "help logscale" y "help style").
25 - 31 -
Gnuplot tambin permite seleccionar las columnas que se van a representar una frente a otra. Para ello es necesario aadir la opcin "using" al comando "plot". Por ejemplo, para representar la tercera columna frente a la primera escribiremos:
25 - 32 -
Hay muchas opciones avanzadas para representar datos. Para mayor informacin se recomienda consultar la ayuda en lnea "help plot datafile using".
7.2. REPRESENTACIN 3D DE DATOS Gnuplot permite realizar grficos tridimensionales de datos. El fichero de entrada ha de tener tres columnas, una por cada coordenada X, Y, Z. Por ejemplo, supongamos que tenemos el siguiente fichero de datos: # Created by Octave 2.0.16, Mon Jul 15 16:01:06 2002 # name: aa # type: matrix # rows: 81 # columns: 3 -4 -4 256 -3 -4 144 -2 -4 64 25 - 33 -
4 0 0 -4 1 16 -3 1 9 -2 1 4 -1 1 1 01 0 11 1 21 4 31 9 4 1 16 -4 2 64 -3 2 36 -2 2 16 -1 2 4 02 0 12 4 2 2 16 3 2 36 4 2 64 -4 3 144 -3 3 81 -2 3 36 -1 3 9 03 0 13 9 2 3 36 3 3 81 4 3 144 -4 4 256 -3 4 144 -2 4 64 -1 4 16 04 0 1 4 16 2 4 64 3 4 144 4 4 256 Las dos primeras columnas del fichero son los valores de X e Y donde se ha evaluado la tercera columna, que corresponde a la funcin f(x,y)=(x**2)*(y**2). Puede 25 - 35 -
observarse que cada vez que la variable Y cambia de valor se deja una lnea en blanco en el fichero de datos. Esto indica a Gnuplot que no una los puntos que estn arriba y debajo de la lnea en blanco. De esta forma se evita que aparezcan lneas que emborronaran la grfica. Veamos la grfica resultante:
Tambin se podra realizar una representacin paramtrica, e incluso en coordenadas cilndricas o esfricas (otra cuestin es que el dibujo tenga sentido).
25 - 36 -
Para ms informacin ver "help plot datafile". 8. FORMATOS DE SALIDA. En este apartado se describen las distintas formas de obtener los grficos que se han creado:
Mostrar la salida por pantalla. El dispositivo ms habitual de Gnuplot son las X, al menos al principio para ir viendo los resultados obtenidos. Por defecto Gnuplot mostrar las grficas en una ventana en las X si estn disponibles. En cualquier caso se pueden seleccionar con el comando "set term x11". Otros posibles dispositivos pueden ser "vga" o "dumb". Para ms informacin ver "help term".
Guardar la salida en un fichero postscript. Este dispositivo de salida tiene mltiples opciones. Se puede elegir si se quiere postscript encapsulado, tipo y tamao de las fuentes, etc. Posiblemente sea el terminal ms usado para incluir grficas en trabajos usando LaTeX. Para ms informacin, "help set term postscript".
Esta opcin es semejante a la anterior. Los formatos de imagen ms habituales sern png, jpg, fig.
Finalmente, tambin es posible mandar la salida a una impresora. Para ello ser necesario elegir como dispositivo de salida el driver de nuestra impresora.
El nombre del fichero de salida se indica mediante el comando "set output". Veamos un ejemplo en el que guardamos el resultado en un fichero png:
La primera aparicin de "set output" indica que la salida se guardar en el fichero indicado a continuacin. Las comillas dobles son imprescindibles. A continuacin se realiza la grfica y finalmente, el segundo "set output" cierra el fichero. Es muy importante no olvidarse de cerrar el fichero, porque si se realizara otra grfica, el resultado tambin se guardara en el mismo fichero, inutilizandose de esta manera. Para el caso de enviar la salida a una impresora, o en general postprocesarla con otra aplicacin, se deber indicar como parmetro de "set output" el nombre del comando, precedido por una tubera smbolo (|).
Todas las grficas que se generen a partir de ese momento se dirigirn al comando "lpr" (imprimir en UN*X). Conviene de todas formas cerrar la salida con "set output" y volverla a abrir entre grfica y grfica. En general, para ver las posibilidades que ofrece un dispositivo de salida, se debe ejecutar "help term disp", donde disp es el nombre del dispositivo en cuestin. Si se necesita algn dispositivo que no est disponible, hay dos alternativas: recompilar Gnuplot y aadir el soporte o utilizar otro dispositivo. Como ltima nota decir que los distintos tipos de dispositivos nicamente adaptan la salida. Esta tendr que guardarse luego en un fichero, mostrarse por pantalla o enviarse a un comando de shell para ser procesada ms tarde.
25 - 38 -
9. USOS AVANZADOS 9.1. GUARDANDO Y CARGANDO SESIONES DE UN FICHERO Gnuplot permite indicar el nombre de un fichero del que leer una serie de comandos. Esto puede ser muy til para trabajar en modo batch (por ejemplo, generando grficas desde un script), o para cargar una configuracin a la hora de representar grficas. El comando para cargar comandos de un fichero es:
load "fichero.gp"
Y si lo que queremos es trabajar en modo batch, escribiremos desde el prompt del sistema operativo:
Gnuplot fichero.gp
Los comandos en el fichero se deben escribir con la misma sintaxis que si se escribieran desde el prompt de Gnuplot. De forma similar, para guardar el estado actual de trabajo teclearemos:
save "fichero.gp"
En este fichero se guardarn comandos que nos permitirn configurar el estado de Gnuplot tal y como lo tenemos en este momento. Tambin nos guarda las expresiones que hayamos definido (funciones y constantes) y la ltima grfica representada. 9.2. SCRIPTS DE GNUPLOT Como hemos podido comprobar, la interfaz de Gnuplot est completamente orientada a comandos: absolutamente todos los aspectos del programa se controlan desde la lnea de comandos. La dificultad de aprender los comandos, el tedio de teclearlos y el largo proceso de prueba y error hasta que conseguimos la grfica con el aspecto deseado tienen ahora su recompensa: si guardamos en un fichero todas las ordenes necesarias para obtener nuestra grfica, habremos creado un script de Gnuplot. Con apenas unos pocos cambios en el script, simplemente la funcin a representar o los datos, podremos obtener nuevas grficas y todas ellas con un aspecto uniforme, ideales para insertar en informe o tesis. Es ms, podemos llegar a automatizar el proceso de creacin de grficas. Es posible la invocacin de un script de tres maneras
25 - 39 -
Desde el prompt del shell, tecleando como parmetros una lista de ficheros. Gnuplot leer y ejecutar secuencialmente estos ficheros. $ Gnuplot f1.gp f2.gp ... Como un script ejecutable. Esta opcin slo est disponible en sistemas Unix. Para ello hay que dar permiso de ejecucin al fichero y asegurarse que la primera lnea del fichero es la siguiente: #!/bin/usr/Gnuplot De esta forma cuando se invoque el script desde el shell, este leer la primera lnea y lanzar el programa Gnuplot para que interprete el resto del fichero. $ ./Gnuplot.gp
9.3. PAUSAS, BUCLES Y ANIMACIONES En una mismo fichero se puede pedir a Gnuplot que dibuje varios grficos, poniendo el comando "pause" entre las grficas nos permitir ver cada grfica con tranquilidad. Adems, si al final del fichero (o en cualquier momento utilizando "if") se coloca el comando "reread" Gnuplot empezar a interpretar otra vez los comandos desde el principio del fichero. Utilizando "pause" y "reread" se pueden crear animaciones. 9.4. CAMBIANDO EL ASPECTO DE LAS GRFICAS Gnuplot tiene multitud de comandos para personalizar el acabado final de las representaciones grficas. A continuacin se muestra un pequeo listado. Para ver todas las posibles opciones, vase "help set".
Aadir ttulo a una grfica: set title "titulo de la grfica" Aadir la fecha y hora a una grfica: set time Aadir ttulos a los ejes: set xlabel "nombre X" y set ylabel "nombre Y" Personalizar la leyenda o eliminarla: set key Dibujar flechas en el grfico: set arrows Colocar etiquetas en cualquier punto del grfico: set labels Redimensionar el rea de dibujo: set size Variar los mrgenes del dibujo: set size y set origin 25 - 40 -
Mostrar una rejilla de lneas tras la grfica; set grid Ocultar y mostrar los ejes: set border, set (x/y)zeroaxis. Mostrar y modificar las marcas en los ejes: set (x/y)tics. Para que las marcas de los ejes correspondan a das de la semana o meses: set (x/y)dtics, set (x/y)mtics. Para que las marcas de los ejes estn por dentro o fuera del dibujo: set ticslevel
9.5. MULTIPLES GRFICAS EN UNA SLO DIBUJO. Para obtener un dibujo con varias graficas en el basta con poner las distintas funciones que se quieren representar separadas por comas, en el mismo comando "plot".
Tambin se puede usar el comando "replot" para aadir funciones o datos a la representacin. "replot" aade las nuevas funciones a las que ya se haban representado antes, y las muestra todas juntas. La sintaxis es semejante a la de "plot".
En este caso adems hemos aadido dos nuevos atributos del comando "plot", con lo que conseguimos un reslutado ms vistoso. Se pueden superponer tantas grficas como se deseen. Tambin es posible con grficos 3D, y en coordenadas polares, cilndricas y esfricas, aunque no es posible mezclarlas. 9.6. CAMBIANDO EL ESTILO DE LAS LNEAS En el apartado anterior vimos que al invocar el comando "plot" se aadan las opciones "with boxes" y "with impulses". Estas opciones permiten seleccionar el tipo de lnea con la que se va representar, y facilita diferenciar varias grficas que se muestran juntas, especialmente en dispositivos de salida monocromos. La opcin "with" est tambin disponible desde el comando "splot". En el caso anterior simplemente seleccionamos un tipo de lnea para una grfica en concreto. Tambin es posible cambiar el estilo para todas las representaciones usando los comandos:
El primero cambia el estilo para todas las representaciones de funciones, mientras que la segunda lo hace para las representaciones de ficheros de datos. Tipo_de_linea puede ser uno de los siguientes:
Para grficas 2D se puede elegir entre "lines", "points", "linespoints", "impulses", "dots", "steps", "errorbars", "boxes", y "boxerrorbars". Para grficas 3D slo estn disponibles "lines", "linespoints", "impulses" y "dots".
9.7. MLTIPLES GRFICAS EN UNA SOLA PANTALLA En este caso lo que se pretende es representar en la misma pantalla varios grficas independientes, cada una con su propio sistema de referencia. Esto se puede hacer con la opcin "set multiplot", y dividiendo el espacio disponible en porciones con "set size" y "set origin". Por ejemplo para dibujar cuatro grficas en una cuadrcula 2x2 haramos lo siguiente:
set multiplot set size .5,.5 set origin 0,.5 plot x set origin .5,.5 plot [0:1] sin(2*pi*x) with boxes set origin 0,0 plot [-5:5] exp(-x**2/5) with steps set origin .5,0 splot [-1:1][-1:1] x**2+y**2 set nomultiplot
25 - 43 -
Dependiendo del dispositivo de salida, las grficas no se dibujarn hasta que se pase a modo normal con "set nomultiplot". En otras las grficas irn apareciendo pero no se podr borrar la pantalla (con el comando "clear") o se borrarn todas las grficas. Si el dispositivo de salida es el sistema X ("set term x11"), es posible obtener varias grficas a la vez, cada una en su propia ventana. Para ello simplemente hay que pasar un parmetro ms al comando "set":
Donde "n" es un entero, identificador de la ventana X en la que se va a dibujar la grfica. Si la ventana ya existe, se reutilizar. Si no existe se crear de nuevo. Es posible definir tantas ventanas como sea necesario.
25 - 44 -
25 - 45 -
Chart::Graph::Gnuplot interfaz en Perl para realizar grficos usando Gnuplot. Gnuplot.py interfaz en python para realizar grficos usando Gnuplot. Gnuplot-mode.el modo de emacs para facilitar la edicin de scripts de Gnuplot.
f ( x, y ) = x 2 y 2 e x
+ y2
f ( x, y ) =
3 xy 1 + e x
2
+ y2
.- Observa las grficas anteriores desde distintos puntos de vista. .- Realiza un archivo de datos con tres columnas y 20 filas. + Representa grficamente la funcin que relaciona los datos de las dos primeras columnas. + Representa grficamente la funcin que relaciona los datos de las columnas segunda y tercera. .- Utiliza las distintas opciones de gnuplot para representar una grfica, colocar un ttulo, etc.
25 - 46 -