Jak podzielić jedną kolumnę w gnuplot?


11

Mam plik danych gnuplot. Chciałbym to narysować, ale każdą wartość w osi x należy podzielić przez n.

Czy mogę to zrobić z poziomu programu gnuplot, czy muszę przepisać plik danych?


Ta operacja jest powszechnie znana jako „skalowanie”, może to słowo zasługuje na tytuł?
Dmitrij Grigoriew

Odpowiedzi:


24

Zakładając, że xwartości znajdują się w pierwszej kolumnie pliku, 'test.dat'a ywartości znajdują się w drugiej kolumnie tego samego pliku, możesz napisać:

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

Więcej informacji i przykładów dotyczących słowa kluczowego można znaleźć w instrukcji obsługi'using' .

Pamiętaj, że nie zmieni to wartości Twojego pliku danych 'test.dat'. Jeśli wolisz przepisać plik danych, możesz to zrobić za pomocą awk. Na przykład:

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

zastąpi xwartości w pierwszej kolumnie test.datz x/ni wygeneruje nowy plik o nazwie testnew.dat.


Przesłano edycję, aby naprawić uszkodzony link do ostatniej wersji HTML instrukcji. Należy również pamiętać, że podręczniki są dostępne tylko w formacie PDF w najnowszych wersjach. gnuplot.info/documentation.html
Asahiko

Możemy nawet podzielić wartości niektórych kolumn:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.