es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Animación Gnuplot, cómo imprimir texto desde un archivo de datos en el gráfico.

Quiero graficar las columnas 1 y 2, e imprimir la columna 3 de un archivo de datos, sin embargo no puedo encontrar cómo leer directamente desde el archivo de datos hacia x o hacia el arreglo x(n), básicamente la operación es esta:

haga para[j=0:n:1]{
    unset etiqueta
    x = #fila j, columna 3 de 'nombre-archivo.dat'
    establecer etiqueta x en 2000, 4000 ...
    graficar 'nombre-archivo.dat' u 1:2 ....
}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para leer directamente desde el archivo de datos en x o en un array x(n), podemos usar la palabra clave using en el comando plot. La palabra clave using nos permite especificar las columnas que queremos usar para trazar el gráfico.

    Para trazar las columnas 1 y 2 y mostrar la columna 3 de un archivo de datos, podemos modificar el código como se muestra a continuación:

    n = #número total de filas en el archivo de datos
    do for[j=0:n:1]{
        unset label
        x = system(sprintf("awk 'NR==%d {print $3}' file-name.dat",j+1))
        set label x at 2000, 4000 ...
        plot 'file-name.dat' u 1:2:3 every ::j::j w points pt 7 ps 1 lc rgb "red" notitle
    }
    

    Aquí, usamos el comando system para ejecutar un comando awk que extrae el valor en la columna 3 para una fila específica. Usamos sprintf para construir el comando awk con el número de fila (j+1).

    En el comando plot, usamos using 1:2:3 para indicar que queremos trazar las columnas 1 y 2, y usar la columna 3 para el color. También usamos la palabra clave every para indicar la fila específica que queremos trazar. Finalmente, usamos la palabra clave notitle para ocultar la entrada de leyenda para el punto de datos.

Comments are closed.