Bagaimana cara membagi satu kolom di gnuplot?

11

Saya punya file data gnuplot. Saya ingin memplotnya, tetapi bagi setiap nilai dalam sumbu x dengan n.

Dapatkah saya melakukan ini dari dalam gnuplot, atau apakah saya harus menulis ulang file data?

pengguna13798
sumber
Operasi ini umumnya dikenal sebagai "penskalaan", mungkinkah kata itu pantas berada di judul?
Dmitry Grigoryev

Jawaban:

24

Dengan anggapan bahwa xnilainya ada di kolom pertama file 'test.dat'dan ynilainya ada di kolom kedua dari file yang sama, maka Anda dapat menulis:

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

Lihat manual untuk informasi lebih lanjut dan contoh-contoh 'using'kata kunci.

Perhatikan bahwa ini tidak akan mengubah nilai file data Anda 'test.dat'. Jika Anda lebih suka menulis ulang file data, Anda dapat melakukannya menggunakan awk. Sebagai contoh:

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

akan mengganti xnilai di kolom pertama test.datdengan x/ndan akan menghasilkan file baru bernama testnew.dat.

mrucci
sumber
Menyerahkan hasil edit untuk memperbaiki tautan yang rusak ke versi HTML manual terakhir. Perhatikan juga bahwa manual hanya tersedia dalam bentuk PDF dalam versi terbaru. gnuplot.info/documentation.html
Asahiko
Kami bahkan dapat membagi nilai kolom tertentu:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe