José Manuel Mira Ros. Instrumentos para docencia
Gnuplot
gnuplot

Gnuplot es un programa en línea de comandos que permite dibujar gráficas de funciones en 2 y 3 dimensiones a través de las fórmulas que las definen. También puede dibujar gráficos usando una tabla de coordenadas (en formato sólo texto) creadas con cualquier programa.

El software tiene copyright pero se distribuye libremente y está disponible para UNIX, Linux, IBM OS/2, MS Windows, MSDOS, Macintosh, VMS, Atari y muchas otras plataformas.

Originalmente estaba destinado a científicos y estudiantes para permitirles visualizar gráficamente funciones matemáticas o tablas de datos. Hace su trabajo muy bien y es utilizado por otras herramientas, entre las que se encuentran Maxima y Octave, para dibujar gráficas evitandoles tener que desarrollar su propio motor de dibujo (un ejemplo paradigmático de software libre y cooperativo).

Gnuplot viene desarrollándose desde 1986 y la última versión, al escribir estas notas, es la 4.2 y está fechada el 3 de marzo de 2007.

Además de dibujar la gráfica en pantalla puede guardarla en multitud de formatos entre los que se encuentran los usuales, como jpg, png, pdf, svg; y otros, menos usuales, pero muy interesantes para los usuarios LaTeX como metafont, eps, pstricks, picture...

En Linux-Debian se instala con

apt-get install gnuplot
en MS-Windows queda instalado al instalar x Maxima.

Una vez instalado, generar un gráfico es muy sencillo. Veamos algunos ejemplos.
El seno y el arco tangente en [-10,10] en formato jpeg
set terminal jpeg
set output 'ejemplo1.jpg'
plot [-10:10] sin(x),atan(x)
Copie el código anterior en algún editor de texto plano y guárdelo en un archivo, de nombre digamos, ejemplo1.gnuplot. Abra una consola y ejecute
gnuplot 'load ejemplo1.gnuplot'
y obtendrá un gráfico de nombre ejemplo1.jpg en el que aparecen dibujadas las gráficas del seno y el arco tangente.
Dos toros entrelazados en formato jpeg
set terminal jpeg
set output 'ejemplo2.jpg'
set dummy u,v
set parametric
set view 50, 30, 1, 1
set isosamples 50, 20
set hidden3d offset 1 trianglepattern 3 undefined 1 altdiagonal bentover
set ticslevel 0
set title "Dos toros entrelazados" 
set urange [ -3.14159 : 3.14159 ] noreverse nowriteback
set vrange [ -3.14159 : 3.14159 ] noreverse nowriteback
set zrange [ * : * ] noreverse nowriteback 
splot cos(u)+.5*cos(u)*cos(v),sin(u)+.5*sin(u)*cos(v),.5*sin(v) with lines,
1+cos(u)+.5*cos(u)*cos(v),.5*sin(v),sin(u)+.5*sin(u)*cos(v) with lines
Copie y guarde el código como ejemplo2.gnuplot para a continuación ejecutar desde la consola
gnuplot 'load ejemplo2.gnuplot'
y obtendrá dos toros entrelazados.
El seno mediante una tabla de datos
set terminal png
set output 'ejemplo3.png'
plot "seno.dat" with line 3
Para conseguir el gráfico necesita descargarse en su disco duro la tabla de datos seno.dat y guardar el código anterior en la misma carpeta en un archivo con nombre, digamos, ejemplo3.gnuplot y a continuación ejecutar el consabido
gnuplot 'load ejemplo3.gnuplot'

Esto es sólo una introducción básica a Gnuplot. Si el tema le interesa debe visitar la
página oficial, ver el Manual de Gnuplot (4.2) y analizar algunos ejemplos.

 

Departamento de Matemáticas. Universidad de Murcia