Làm cách nào để chia một cột trong gnuplot?


11

Tôi có tập tin dữ liệu gnuplot. Tôi muốn vẽ đồ thị, nhưng chia mọi giá trị trong trục x cho n.

Tôi có thể làm điều này từ trong gnuplot không, hoặc tôi có phải viết lại tệp dữ liệu không?


Hoạt động này thường được gọi là "nhân rộng", có lẽ từ đó xứng đáng để có trong tiêu đề?
Dmitry Grigoryev

Câu trả lời:


24

Giả sử rằng các xgiá trị nằm trong cột đầu tiên của tệp 'test.dat'và các ygiá trị nằm trong cột thứ hai của cùng một tệp, thì bạn có thể viết:

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

Xem hướng dẫn để biết thêm thông tin và ví dụ về 'using'từ khóa.

Lưu ý rằng điều này sẽ không thay đổi các giá trị của tệp dữ liệu của bạn 'test.dat'. Nếu bạn muốn viết lại tệp dữ liệu, bạn có thể thực hiện bằng cách sử dụng awk. Ví dụ:

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

sẽ thay thế các xgiá trị trong cột đầu tiên test.datbằng x/nvà sẽ tạo một tệp mới được gọi là testnew.dat.


Gửi một chỉnh sửa để sửa một liên kết bị hỏng đến phiên bản HTML cuối cùng của hướng dẫn. Cũng lưu ý rằng các hướng dẫn chỉ có sẵn dưới dạng PDF trong các phiên bản gần đây. gnuplot.info/documentation.html
Asahiko

Chúng tôi thậm chí có thể chia các giá trị của các cột nhất định:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.