| ||||||||||||||||||||||||||||||
1.- Introducción El siguiente es un texto informativo sobre GNUplot, creado originalmente para formar parte del proyecto "Linux y la Escuela" presentado por el grupo de usuarios de Software Libre del Centro Oeste Santefesino (aka LugCOS - http://www.lugcos.org.ar) en una conferencia virtual organizada por Cignux; esta versión modificada tiene como finalidad ser de utilidad para el proyecto Gleducar (http://www.lugcos.org.ar/gleducar) que basa sus esfuerzoa en llevar la forma de trabajo de la comunidad del Software Libre a las escuelas. Esta sencilla guía de uso se brinda principalmente por la necesidad de reemplazar el programa no-libre "Winfun" (de ampllio uso) por uno que respete las libertades que fomentamos. 2.-¿Que es GNUplot? GNUplot es un programa que se utiliza para graficar funciones. GNUplot es interactivo. También es "sensible", es decir no es lo mismo: gnuplot> plot sin(x) (lo cual nos gafica la función seno) que gnuplot> plot SIn(x) (que nos dará el error: undefined function: SIn) Se deben de respetar mayúsculas y minúsculas. 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 comas ( , ). Luego de la ejecución del comando se crea una imagen sobre la que luego podemos trabajar con un editor de imágenes como gimp (http://www.gimp.org). Luego de corrido gnuplot, se nos presenta un prompt en el cual podemos ejecutar los comandos necesarios para graficar lo que necesitemos: [juanjo@galadriel home]$ gnuplot G N U P L O T Version 3.7 patchlevel 2 last modified Sat Jan 19 15:23:37 GMT 2002 System: Linux 2.4.19-16mdk Copyright(C) 1986 - 1993, 1998 - 2002 Thomas Williams, Colin Kelley and many others Type `help` to access the on-line reference manual The gnuplot FAQ is available from http://www.gnuplot.info/gnuplot-faq.html Send comments and requests for help to <info-gnuplot@dartmouth.edu> Send bugs, suggestions and mods to <bug-gnuplot@dartmouth.edu> Terminal type set to 'x11' gnuplot> 3.-Graficación: El programa GNUplot permite confeccionar gráficos tanto en 2D como en 3D:
3a.- Para graficar en dos dimensiones se usa el comando 'plot' y si se usa una función predefinida (como 'cos'), la variable va entre paréntesis ( cos(x) ). 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 e Y. Esto se hace antes de escribir la función y es opcional. La sintaxis sería: plot [xmin:xmax][ymin:ymax] función alguna_otra_opcion Ej: plot [-10:10][-12:12] cos(x) Ej: plot [-80:80][-35:35] x**2+3 3b.- Para graficar en tres dimensiones se usa en lugar de 'plot, 'splot'. 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 escribirse. La sintaxis sería: splot [xmin:xmax][ymin:ymax][zmin:zmax] función alguna_otra_opcion 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 puede utilizar el comando 'replot'.
4.-Funciones: Las funciones a representar, al igual que en las matemáticas de papel y lápiz, o son funciones "preestablecidas" (seno, coseno..) o están formadas por "operadores" y "valores"; además de los valores numéricos tradicionales se pueden usar valores predeterminados, como ser el muy útili valor "pi" = 3,14... Operadores:
También se puede usar funciones predefinidas:
5.- Utilizar opciones con set y show: Las siguientes opciones pueden ser usados con 'set', 'set no' y 'show'. Con 'set', se declara que una opción entra en función. Con 'set no', se desactiva esa opciones. Para saber si una opción está o no, activado/funcionando, se usa 'show'. Con 'show all' se muestran todos las opciones que están funcionando. Sintaxis: set opción, set noopción o show opción Esto significa que se ha declarado un cierto modo de trabajo, se ha deshabilitado o se pide información sobre este. Ej: set border // Especifica que la gráfica es desplegada mostrando un borde.Ej: set noborder // Especifica que la gráfica no muestra los bordes.Ej: show border // Muestra los datos actuales en referencia a 'border' Aqui está una lista de todos las opciones(*) que se pueden usar de esta manera:
(*) No fueron todos probados exustivamente, comentarios y sugerencias al respecto son bienvenidas.
6.-Propiedades del gráfico: 6a.-Título del gráfico: 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 "titulo" o t "titulo" Ej: plot x**2 title "Parábola" Ej: splot [-2:2][-pi:pi][-1:1] exp(sin(x)) t "ejemplo1", sin(x) t "ejemplo2" 6b.- Nombre de los ejes: Para poner nombre a los ejes se usa 'xlabel' (eje X), 'ylabel' (eje Y) y 'zlabel' (eje Z). Sintaxis: set xlabel "nombreX", set ylabel "nombreY" Ej: set xlabel "eje X" Ej: set ylabel "eje Y" 6c.-Cambio de sistema de coordenadas: En gráficas 2D, puede cambiarse del sistema de coordenadas rectangulares al sistema de coordenadas polares. Sintaxis: set polar Ej: 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'. 6d.-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' e 'yscale'. Sintaxis: set size xscale,yscale Ej: 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 de configuarción y otros útiles:Copyleft (c) 2001-2002 Juan José Conti <jjconti@gnu.org> Se garantiza el permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, versión 1.1 (GNU Free Documentation License, Version 1.1 ) o cualquier otra versión posterior publicada por la Free Software Foundation; este documento se presenta sin Secciones Invariables (no Invariant Sections), sin Textos de Tapa (no Front-Cover Texts) y sin Textos de Contratapa (no Back-Cover Texts). Una copia de la licencia está puede encotrar se en: http://www.gnu.org/copyleft/fdl.html |
Blog de ayuda para los usuarios de GNUPlot. Algunos de los post son tomados de otras webs, dando sus referencias y otras son desarrolladas por mí.
martes, 27 de marzo de 2012
Uso básico de GNUPlot
Suscribirse a:
Enviar comentarios (Atom)
Hola, estoy intentando graficar una función escalar cuyo dominio en R^2, i.e. f(x,y) en serie de potencias utilizando el comando "sum" dentro de la orden "splot" de la siguiente manera y sin éxito:
ResponderEliminarv(n,x,y) = (-x**2 - y**2)**n/n!
sum10(x,y) = sum [n=1:10] v(n,x,y)
set samples 15,25
set isosamples 15,25
set table 'exp_sum10.dat'
splot sum10(x,y)
unset table
splot 'exp_sum10.dat'
Noto que la iteración "sum" no tiene inconvenientes cuando es usado para graficas funciones de una sola variable, i.e. g(x) con la orden "plot".
Agradecería mucho cualquier ayuda con ello antes de darme por vencido y
apoyarme en otros programas como matemática y matlab que para este tipo de problemas parecen ofrecer soluciones mucho más simples.