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?


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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.