Santiago Romero <sromero arroba gmail punto com>
14-09-2005
GNUPlot es una herramienta GNU que nos permitirá dibujar fácilmente gráficas con datos numéricos obtenidos en programas externos.
Si ejecutamos ``gnuplot'' desde la línea de comandos de Linux, entraremos en el prompt de gnuplot, listo para recibir nuestras órdenes. Si ejecutamos ``quit'' o ``exit'', saldremos del programa. Con ``load fichero.plt'' dentro de gnuplot o con ``gnuplot fichero.plt'' desde fuera, podemos cargar un fichero de órdenes para gnuplot como si las estuviéramos tecleando (el fichero contendrá líneas con el mismo formato que las que se teclean dentro del command line de gnuplot).
Dentro de gnuplot tenemos ejecutar todo tipo de comandos para dibujar gráficas, como por ejemplo:
gnuplot> plot [0:5] sin(x)
gnuplot> a=0.5
gnuplot> print a
gnuplot> plot a*sin(x)*cos(x)
Supongamos que mediante una aplicación obtenemos unos resultados numéricos tabulados en un fichero de texto, del estilo:
0.20 2.12 12.34 22.22
0.30 2.34 98.23 10.40
...
1.10 8.32 22.45 12.00
Podemos obtener una gráfica en pantalla mediante gnuplot utilizando el siguiente comando:
El parámetro ``with lines'' a la hora de dibujar la gráfica indica el tipo de ``rellenado entre puntos'' a utilizar (continuo, discontinuo, etc). El formato genérico de uso es ``with lines'' o ``with lines <NUMERO>''. Este número varía según el terminal que tengamos seleccionado con el comando ``set term''. La mejor manera de ver los tipos de ``rellenados'' disponibles sería ejecutar:
gnuplot> test
> ''datos.txt'' using 1:3 with lines, \
> ``datos.txt'' using 2:4 with lines
> ''datos.txt'' using 1:3 title ``B'' with lines, \
> ``datos.txt'' using 2:4 title ``C'' with lines
gnuplot> plot ``datos.txt'' using 1:2 title ``A'' with lines, \
> ''datos.txt'' using 1:3 title ``B'' with lines, \
> ``datos.txt'' using 2:4 title ``C'' with lines, \
> f(x) with lines
gnuplot> set yrange [0:10]
gnuplot> replot
gnuplot> set yrange [0:2]
gnuplot> set logscale x
gnuplot> replot
gnuplot> set mxtics 5
gnuplot> set ytics 0.5
gnuplot> set mytics 5
gnuplot> set grid (Nota: si queremos poner rejilla)
gnuplot> replot
gnuplot> set ylabel ``Tiempo de respuesta (ms)''
gnuplot> set title ``Mi grafica''
gnuplot> replot
Aparte del hecho de que podemos capturar la gráfica resultante en pantalla con ksnapshot, gimp o similares, podemos obtener una versión postscript (.ps) de la gráfica mediante:
gnuplot> set output ``salida.ps''
gnuplot> replot
gnuplot> save ``salida.plt''
gnuplot> quit
gnuplot> set output ``salida.png''
Sea un fichero ``datos.plt'' con un fichero como el siguiente:
# Esto es un comentario y gnuplot lo ignora.
set ylabel ``Bla Bla''
plot ``fichero.dat'' with (etc. etc. etc.)
Como ya hemos visto, hay diferentes estilos de ``ploteado''. Veamos algunos ejemplos:
gnuplot> plot (...) with lines -1
gnuplot> plot (...) with dots
gnuplot> plot (...) with impulses
gnuplot> plot (...) with steps
gnuplot> plot (...) with histeps
gnuplot> plot (...) with boxes
gnuplot> plot (...) smooth csplines
gnuplot> plot (...) smooth bezier
gnuplot> set yzeroaxis lt -1
gnuplot> plot sin8x) with linespoints
gnuplot> set noclip one
gnuplot> replot
gnuplot> set clip two
gnuplot> replot
gnuplot> set noclip two
gnuplot> replot
gnuplot> set ytics nomirror
gnuplot> set size ratio 0.5
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir57282xa5Qp/lyx_tmpbuf0/gnuplot.tex
The translation was initiated by Santiago Romero on 2005-09-14