Wie teile ich eine Spalte in gnuplot ein?

27242
user13798

Ich habe gnuplot Datendatei. Ich möchte es plotten, aber jeden Wert in der x-Achse durch n dividieren.

Kann ich das von gnuplot aus tun oder muss ich die Datendatei neu schreiben?

8
Diese Operation wird allgemein als "Skalierung" bezeichnet. Vielleicht verdient das Wort den Titel? Dmitry Grigoryev vor 9 Jahren 0

1 Antwort auf die Frage

19
mrucci

Angenommen, die xWerte befinden sich in der ersten Spalte der Datei 'test.dat'und die yWerte in der zweiten Spalte derselben Datei. Dann können Sie Folgendes schreiben:

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

Weitere Informationen und Beispiele zum Schlüsselwort finden Sie im Handbuch'using' .

Beachten Sie, dass dadurch die Werte Ihrer Datendatei nicht geändert werden 'test.dat'. Wenn Sie die Datendatei lieber neu schreiben möchten, können Sie dies mit tun awk. Zum Beispiel:

awk '' test.dat > testnew.dat 

ersetzt die xWerte in der ersten Spalte von test.datmit x/nund generiert eine neue Datei mit dem Namen testnew.dat.

Übermittelte eine Bearbeitung, um einen fehlerhaften Link zur letzten HTML-Version des Handbuchs zu beheben. Beachten Sie auch, dass die Handbücher nur in aktuellen Versionen als PDF verfügbar sind. http://www.gnuplot.info/documentation.html Asa vor 10 Jahren 0