GNU-PLOT INDICE 1.- Introduccion 2.- ¿Que es GNUplot? 3.- Sensilla tabla de comandos mas utilizados 4.- Funciones 5.- Graficación 5a.- 2D 5b.- 3D 5c.- Estilos de Graficación 6.- Caracteristicas del gráfico 6a.- Título de gráficas 6b.- Cambio de coordenadas 6c.- Tamaño de las gráficas 7.- Comandos con set y show 7a.- Sintaxis y ejemplos 7b.- Lista de todos los comandos que se pueden usar 8.- Graficación de archivos de datos 9.- Sobre este texto 1.- Introducción El siguiente es un texto informativo sobre GNUplot, creado para formar parte del proyecto ?Linux y la Escuela? del LugCOS dirigido por el Sr Adrian Staffolani. Esta sencilla guia de uso surge de la necesidad de reemplazar el programa propietario ?Winfun? por uno de codigo abierto. Algunos miembros del LugCOS nos dividimos en distintas utilidades ejecutables en una plataforma GNU/Linux, como participo de las Olimpiadas Matemáticas me gustó la idea de encontrar una herramienta que además de ayudar a otros me ayude a mi. En el aspecto en el que mayormente interanctúan los espacios curriculares (materias para mi, soy del bachillerato residual) Matemáticas y Computación, es el de la confección de gráficos de funciones. 2.-¿Que es GNUplot? GNUplot es un programa que se utiliza para trazar funciones manejadas por comandos, GNUPLOT es interactivo. También es sensible, por sensible entendemos que se deben de respetar mayúsculas y minúsculas. Todos los nombres de los comandos se pueden abreviar, mientras estos no sean ambiguos. También tiene la facilidad de que podemos escribir cualquier número de comando en una línea, siempre y cuando cada comando esté separado por puntos y comas (;). Luego de la ejecución del comando se crea una imagen sobre la que luego podemos trabajar con un editor de imágenes. 3.-COMANDOS MÁS UTILIZADOS plot: Sirve para trazar una función en coordenadas de un plano. splot: Traza las funciones en el espacio (x,y,z) replot: Vuelve a trazar la función anterior. clear: Borra la función trazada. print: Nos da el valor de una variable (X,Y,Z, etc.) set border: Establece un borde en la gráfica. set noborder: Quita el borde. show border: Revisa si el borde esta activo o inactivo. set boxwidth 11: Establece el ancho de la caja a 11. set boxwidth: Regresa el ancho normal. show boxwidth: Revisa que tan ancha esta la caja. set size 1,2: Establece el tamaño del trazo. set autoescale xyz: Activa la escala tanto en X como Y y Z. set noautoescale X: Desactiva la escala en X. show autoescale: Revisa que las escalas esten activas. X=OFF Y=ON Z=ON. set xrange [-5:8]: Establece el rango de X de [-5,8] set yrange [-10:5]: Establece el rango de Y de [-10,5] set yrange [0.5:15.7]: Establece el rango Z de [0.5,15.7] set xlabel ?Lev? 3,4: Etiqueta las X en los puntos 3 y 4 como set ylabel ?LCC? 0,10: Etiqueta las Y en los puntos [0,10] como set zlabel ?Taller? -15,30: Etiqueta las Z en los puntos [-15,30] show x label: Revisa si X tiene etiquetas, si las tiene marca cual es el texto y las coordenadas. set grid: Establece cuadrículas en el trazo. set nogrid: Quita las cuadrículas en el trazo. show grid: Revisa si están activas o inactivas las cuadrículas. set arrow 3 from 4 to 5: Establece una flecha de 3 unidades de [4,5]. set noarrow: Quita la flecha. show arrow: Revisa si hay una flecha. set view 20,30, 2:1, 3:1: Establece una vista de la imagen pero con la X a una rotación de 20º, la Y 30º, la escala total 2:1 y la escala de Z 3:1. show view: Revisa como esta establecida la vista. 4.-Funciones: Las funciones que se representaran en el gráfico están típicamente formadas por ?operaciones? y valores?, además de los valores numéricos tradicionales se pueden usar valores predeterminados, como ser el muy utili valor ?pi? = 3,14... Operaciones: Dentro de las funciones se puede usar: + --> suma - --> resta * --> multiplicación / --> división ** --> Eleva, al cuadrado, cubo, etc, una variable. Ej: x**2 (x al cuadrado) ; x**3 (x al cubo) También se puede usar funciones (ej: cos) o valores prearmados (ej: pi) como ser: -raíz cuadrada (sqrt), exponencial (exp), logaritmo (log), arcoseno, seno (sin), coseno (cos), tangente (tan), pi, etc. también encontraremos otro tipo de funciones como: define, tanto para definir una función como una variable. También encontraremos la función dummy (explicada más adelante). 5.-Graficación: El programa GNUplot permite confeccionar gráficos tanto en 2D como en 3D. 5a.- Para graficar en dos dimensiones se usa el comando plot y se pone la función con la variable entre paréntesis. Se pueden graficar dos o más funciones al mismo tiempo, basta separarlas con una coma y se grafican una sobre otra en colores diferentes. Los rangos de la gráfica se establecen poniendo, entre corchetes, los valores mínimos y máximos para X y Y. Esto se hace antes de poner la función y es opcional. Sintaxis: plot [xmin:xmax][ymin:ymax] función Ej: plot [-10:10][-12:12] cos(x) Ej: plot [-80:80][-35:35] x**2+3 5b.- Para graficar en tres dimensiones se usa splot y se escribe la función. Los rangos se pueden especificar para las tres variables. Si se especifica el rango de una sola, los corchetes para las otras dos se dejan vacios y siempre deben ponerse. Sintaxis: splot [xmin:xmax][ymin:ymax][zmin:zmax] función Ej: splot (x**3 - y**2) * cos(x) Ej: splot [-5:5][-6:6][-7:7] x+y Si se quiere desplegar nuevamente la última gráfica visualizada, se usa replot 5c.-Estilos de Graficación Una gráfica puede desplegarse en varios estilos : lines - une cada punto con líneas. points - coloca un pequeño rombo en cada punto. linespoints - coloca un símbolo en cada punto y los une con líneas. impulses - traza una línea vertical desde el eje X a cada punto. dots - coloca un pequeño círculo en cada punto. steps - en gráficas 2-d, une puntos consecutivos con dos líneas. Para gráficas 2-d también existen los estilos: boxes, errorbars, boxerrorbars. Sintaxis: with estilo Ej: splot [-1:1][-3:3][-1:1] sin(x+y) with dots Ej: plot [][] sinh(x**2) with steps 6.-Características del gráfico: 6a.-Título de gráficas El título de una gráfica aparece al extremo derecho superior y se pone con title y el nombre entre comillas. Si no se usa title, por ?default? aparece el nombre de la función. Sintaxis: title ?nombre? Ej: plot x**2 title ?Parábola? Ej: splot [-2:2][-pi:pi][-1:1] exp(sin(x)) t ?ejemploa?, sin(x) t ?ejemplob? Para poner nombre a los ejes se usa xlabel (eje X), ylabel (eje Y) y zlabel (eje Z). Sintaxis: set xlabel ?nombre? ejem: set xlabel ?eje X? set ylabel ?eje Y? 6b.-Cambio de coordenadas En gráficas 2-d, puede cambiarse de coordenadas rectangulares a polares. Sintaxis: set polar ejem: set polar plot [-2*pi:2*pi][-3:3] x*sin(x) Para regresar a coordenadas rectangulares se usa set no polar. Si se quiere saber en que modo se está graficando, se usa show polar. 6c.-Tamaño de las gráficas Para ajustar el tamaño de una gráfica, se usa set size. Los valores de la escala para el tamaño se ponen con xscale y yscale. Sintaxis: set size xscale,yscale ejem: set size 0.5,0.5. Para poner el tamaño normal, se usa set size. Para saber en que tamaño se está trabajando se usa show size. 7.-Comandos con set y show Los siguientes comandos pueden ser usados con set, set no y show. Con set, se declara que un comando entra en función. Con set no, se ?desconecta? ese comando. Para saber si un comando está o no, funcionando, se usa show. Con show all se muestran todos los comandos que están funcionando. 7a.-Sintaxis: set comando Esto significa que se ha declarado un cierto modo de trabajo. Ej: set border Especifica que una gráfica es desplegada mostrando la posición de los ejes coordenados. Sintaxis: set no comando Esto significa que se ha declarado regresar al modo de trabajo anterior. Ej: set noborder Especifica que una gráfica no muestra los ejes coordenados. Sintaxis: show comando Esto indica como se ha declarado el modo de trabajo donde, por ejemplo, show border indica de qué manera será desplegada la gráfica. 7b.- Aqui está una lista de todos los comandos que se pueden usar de esta manera: angles [grados/radianes] - trabajando en coordenadas polares, cambia de grados a radianes y viceversa arrow nombre from [x,y,z] to [x,y,z] - coloca flechas en una gráfica. autoscale [ejes] - el rango de una gráfica es asignado automáticamente. parametric - declara el modo paramétrico. clabel - cambia el tipo de línea usado en cada contorno. clip - especifica el parámetro del contorno de las gráficas. cntrparam - controla el modo en que los contornos son graficados. contour [base/superficie/ambos] - especifica en donde se trazarán los contornos. data style [estilo] - cambia el estilo de graficado. dummy [dom1],[dom2],... - especifica el dominio de la función. format [ejes][formato] - especifica el formato de los títulos. function style [estilo] - cambia el estilo de graficado. hidden3d - muestra solo la superficie de la gráfica. isosamples [expresión] - muestra las curvas de nivel. key [x],[y],[z] - permite colocar una clave a cada curva de una gráfica. mapping [cartesianas/esféricas/cilíndricas] - mapea coordenadas en 3-d. rrange [rmin:rmax] - especifica el rango radial. samples [expresión] - produce gráficas más precisas al aumentar su rango. size [xsize],[ysize] - pone la escala a tamaño de la gráfica desplegada. surface - controla el despliegue de gráficas de superficie. terminal [tipo] - selecciona el tipo de terminal. tics [dirección] - cambia el sentido de las flechas que aparecen en una gráfica. ticslevel [nivel] - ajusta la altura del eje Z en gráficas 3-d. time - coloca el dí a y la hora a la gráfica. title ?título? - coloca el título de la gráfica centrado en el eje. trange [tmin:tmax] - especifica el rango paramétrico. urange - especifica los rangos de la superficie paramétrica. view - controla las coordenadas de gráficas 3-d que son mapeadas en un espacio 2-d. xlabel ?nombre? - pone tí tulo al eje X. xrange [xmin:xmax] - especifica el rango horizontal. xtics [start,incr, end] - controla los señalamientos hechos en el eje X. yzeroaxis - trazao. 10.- El presente artículo, al igual que todos los de mi autoría, se encuentra bajo licencia gfdl, es decir que puede ser copiado y reproducido donde quieras, siempre y cuando se respete y nombre al autor y al grupo del que proviene. Y si un texto es desarrollado a partir de la información expuesta en el presente, éste debe ser tambien libre. FUENTES: gnuplot> help y recopilación de la red que si quisiera nombrarlos a los sitios no podría, pues ni yo los recuerdo ;-). Software Abierto, Mentes Abiertas Igualdad de Oportunidades