2013-02-20 34 views
9

Mã gnuplot sau hoạt động tốt:tính toán Làm trong lệnh cốt truyện gnuplot của

plot 'data.txt' using 2:4 ' %lf %lf %lf %lf' title "1 PE" with linespoints; 

Trong đoạn mã sau, tôi muốn nói: "Sử dụng các số từ cột 4, nhưng sau đó chia cho số từ cột 3 ". Hoặc: "Sử dụng số từ cột 2, nhưng chia số đó theo hằng số 2.0". Các mã sau đây chứng tỏ những gì tôi cố gắng đạt được, nhưng nó không hoạt động.

plot 'data.txt' using 2:4/4 ' %lf %lf %lf %lf' title "1 PE" with linespoints; 
plot 'data.txt' using 2:4/2.0 ' %lf %lf %lf %lf' title "1 PE" with linespoints; 

Có phải như thế này có thể không?

Trả lời

15

tôi không thường làm việc với datafiles được định dạng như thế này, nhưng tôi nghĩ rằng bạn đang tìm kiếm cái gì đó như:

#divide column 4 by column 3 
plot 'data.txt' using 2:($4/$3) ' %lf %lf %lf %lf' title "1 PE" with linespoints 

#divide column 4 by constant 10.0 
plot 'data.txt' using 2:($4/10.0) ' %lf %lf %lf %lf' title "1 PE" with linespoints 

Như một mặt lưu ý, tôi không nghĩ rằng có bất cứ lý do để thông qua phần định dạng để sử dụng ở đây. Gnuplot chia tách tệp dữ liệu trên khoảng trắng vừa tốt:

plot 'data.txt' using 2:($4/$3) title "1 PE" with linespoints 

Chỉ hoạt động tốt.

+0

Rất cám ơn, tính năng này hoạt động. Ngoài ra, yeah, các chuỗi định dạng không cần thiết, tuyệt vời! – Johannes

+0

Điều gì về việc chia một cột từ tệp 1 theo một cột từ tệp 2? – Ruzayqat

+0

@Ruzayqat - Tôi chưa từng làm việc trong Gnuplot trong một thời gian, nhưng vào ban ngày, không có cách nào để làm điều đó. Bạn sẽ cần một số loại công cụ để nén các cột lại với nhau và sau đó bạn có thể đặt dữ liệu vào. – mgilson

Các vấn đề liên quan