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

punto de línea

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

Trama iterada

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.

La trama de ejemplo


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)


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow