Gnuplot
Trazado básico de archivos de datos
Buscar..
Introducción
Una de las principales características útiles de gnuplot es la posibilidad de trazar archivos de datos . Trazar un archivo de datos es realmente sencillo con gnuplot ; en realidad, una vez que haya abierto el software desde el terminal, solo tiene que digitar el plot 'file'
comando para obtener un gráfico automático.
En primer lugar, antes de trazar, debe asegurarse de estar en el mismo directorio donde se encuentra el archivo de datos, de lo contrario, eventualmente recibirá una warning
.
Sintaxis
- trazar archivo de datos usando column_expression con estilo
Trazar un solo archivo de datos
El comando predeterminado gnuplot plot
(también solo p
) traza un conjunto de datos con columnas, de la forma del archivo data_set.dat
continuación.
# Prototype of a gnuplot data set
# data_set.dat
# X - X^2 - 2*X - Random
0 0 0 5
1 1 2 15
1.4142 2 2.8284 1
2 4 4 30
3 9 6 26.46
3.1415 9.8696 6.2832 39.11
4 16 8 20
4.5627 20.8182 9.1254 17
5.0 25.0 10.0 25.50
6 36 12 0.908
Como puede ver, puede escribir en su conjunto de datos en notación de punto flotante. Ahora todo está listo para hacer el gráfico de datos: solo escribiendo
plot "data_set.dat"
gnuplot producirá un gráfico en su destino de output
. La configuración predeterminada utilizará las dos primeras columnas de su archivo de datos, respectivamente, x e y. Para especificar las columnas a trazar use el especificador de using
plot "data_set.dat" using 2:4
lo que significa "trazar el archivo usando la columna 2 como X y la columna 4 como Y". En el caso de que su conjunto de datos sea un archivo tridimensional, solo use splot
ad y agregue la columna z
splot "data_set.dat" using 1:2:3
También hay diferentes estilos (consulte la documentación de gnuplot o Selección de un estilo de trazado para obtener más información) para trazar puntos. Como se dijo antes, el estilo por defecto es point
plot "data_set.dat" using 1:4 with point
que trazará el mismo como si no escribieras with point
. Un estilo útil para el trazado de datos es el punto de linespoint
que es, obviamente, "líneas + puntos". P.EJ:
plot "data_set.dat" using 1:4 with linespoint
# the abbreviated form is completely equivalent:
# p "data_set.dat" u 1:4 w lp
Formas de trazado de iteración.
En el caso de que tenga más columnas y desee ubicarlas todas en el mismo gráfico, simplemente pase a la función de representación plot
cualquier argumento que prefiera, separándolos con una ,
p "data_set.dat" u 1:2 w lp,\
"data_set.dat" u 1:3 w lp,\
"data_set.dat" u 1:4 w lp
De todos modos a veces puede haber demasiadas columnas para escribir una por una. En estos casos la for
resultados de bucle de iteración muy útil:
p for [col = 2:4] "data_set.dat" using 1:col w lp
lo que da la salida
Brevemente la for
iteración incrementar la variable en el bucle, en este caso col
, con unos pasos decididos (si no se especifica = 1). Por ejemplo, for [i = 0:6:2]
se incrementará i
de 0 a 6 en 2 pasos: i = 0, 2, 4, 6
. Todos los valores (inicio, parada e incremento) se convierten en valores enteros.
* Grid
La cuadrícula suele ser útil al trazar un conjunto de datos. Para agregar un tipo de rejilla
set grid
Trazando múltiples archivos de datos
Primer método - Concatenación de cuerdas.
El método más sencillo para trazar múltiples archivos de datos es insertar un bucle for
dentro del comando plot
de gnuplot. Suponiendo que tiene N
archivos nombrados de forma secuencial, es decir ,
file_1.dat
file_2.dat
file_3.dat
...
file_N.dat
Ejecutando el comando
plot for[i = 1:N] "file_".i.".dat"
file_1.dat
todos los archivos entre file_1.dat
y file_N.dat
en el mismo gráfico.
Ejemplo con tres archivos de datos
Tabla de conjuntos de datos
Ejes X | Y-Axe file_1.dat | Y-Axe file_2.dat | Y-Axe file_3.dat |
---|---|---|---|
1 | 1 | 1 | 1 |
2 | 2 | 4 | 2 |
3 | 3 | 9 | 6 |
4 | 4 | dieciséis | 24 |
5 | 5 | 25 | 120 |
Comandos
set terminal postscript color noenhanced ##setting the term
set output "multiple_files.ps"
set key center ##legend placement
plot [1:5][1:120] \
for [i = 1:3] "file_".i.".dat" \
pointsize 1.3 linecolor i+4 \
title "file\_".i.".dat" \
with linespoint
El bucle comienza con for [i = 1:3] "file_".i.".dat"
y ejecuta el comando de plot
hasta que llegue a i = 3
. El .i.
Es el número concatenado.
title "file\_".i.".dat"
se ha escrito con el \
para hacer que el símbolo _
en el nombre de los archivos aparezca como un guión bajo en lugar de un subíndice , y el especificador no noenhanced
es fundamental para obtener este resultado .
El resultado final se muestra a continuación.
Segundo método - Uso de la función sprintf
Otro camino posible a seguir es usar la función sprintf
que funciona básicamente igual que el sprintf
lenguaje C. La sintaxis correcta, de la documentación de gnuplot 5.1 es
sprintf("format", x, y, ...)
Un breve ejemplo aclarará cada duda.
file_name(n) = sprintf("file_%d.dat", n)
plot for[i = 1:N] file_name(i) title file_name(i)