2013-02-20 6 views
9

Poniższy kod gnuplot działa dobrze:robi obliczeń w komendzie plot Gnuplot za

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

W poniższym kodzie, chcę powiedzieć: „Użyj numeru z kolumny 4, ale następnie podzielić je przez liczbę z kolumny 3 ". Lub: "Użyj liczby z kolumny 2, ale podziel ją przez stałą 2,0". Poniższy kod pokazuje, co próbuję osiągnąć, ale to nie działa.

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; 

Czy coś takiego jest możliwe?

Odpowiedz

15

Zwykle nie pracować na plikach sformatowane tak, ale myślę, że szukasz czegoś podobnego:

#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 

Na marginesie, nie sądzę, nie ma żadnego powodu, dla przepuszczenia Formatuj część do używania tutaj. Gnuplot dzieli plik danych na dowolne miejsce:

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

Powinien działać dobrze.

+0

Wielkie dzięki, to działa. Również, tak, ciągi formatów nie były konieczne, fajne! – Johannes

+0

Co powiesz na podzielenie kolumny z pliku1 przez kolumnę z pliku 2? – Ruzayqat

+0

@Ruzayqat - Przez jakiś czas nie pracowałem w Gnuplot, ale w tamtych czasach nie było sposobu, aby to zrobić. Potrzebowałbyś jakiegoś narzędzia do zipowania kolumn, a potem mógłbyś przesłać dane. – mgilson