¿Cómo divido una columna en gnuplot?

11

Tengo un archivo de datos gnuplot. Me gustaría trazarlo, pero dividir cada valor en el eje x por n.

¿Puedo hacer esto desde gnuplot o tengo que reescribir el archivo de datos?

usuario13798
fuente
Esta operación se conoce comúnmente como "escala", ¿tal vez esa palabra merece estar en el título?
Dmitry Grigoryev

Respuestas:

24

Suponiendo que los xvalores están en la primera columna del archivo 'test.dat'y los yvalores están en la segunda columna del mismo archivo, puede escribir:

plot 'test.dat' using ($1/n):($2)

Consulte el manual para obtener más información y ejemplos sobre la 'using'palabra clave.

Tenga en cuenta que esto no cambiará los valores de su archivo de datos 'test.dat'. Si prefiere reescribir el archivo de datos, puede hacerlo usando awk. Por ejemplo:

awk '{print $1/n,$2}' test.dat > testnew.dat

sustituirá los xvalores en la primera columna de test.datwith x/ny generará un nuevo archivo llamado testnew.dat.

mrucci
fuente
Envió una edición para corregir un enlace roto a la última versión HTML del manual. También tenga en cuenta que los manuales solo están disponibles como PDF en versiones recientes. gnuplot.info/documentation.html
Asahiko
Incluso podemos dividir los valores de ciertas columnas:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe