Wie teile ich eine Spalte in Gnuplot?


11

Ich habe eine Gnuplot-Datendatei. Ich würde es gerne zeichnen, aber jeden Wert in der x-Achse durch n teilen.

Kann ich dies in gnuplot tun oder muss ich die Datendatei neu schreiben?


Diese Operation wird allgemein als "Skalierung" bezeichnet. Vielleicht verdient dieses Wort den Titel?
Dmitry Grigoryev

Antworten:


24

Angenommen, die xWerte befinden sich in der ersten Spalte der Datei 'test.dat'und die yWerte in der zweiten Spalte derselben Datei, 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 verwenden awk. Beispielsweise:

awk '{print $1/n,$2}' 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 in neueren Versionen nur als PDF verfügbar sind. gnuplot.info/documentation.html
Asahiko

Wir können sogar die Werte bestimmter Spalten teilen:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.