Allgemein, Linux
Schreibe einen Kommentar

Gnuplot

Plot aus Gnuplot - hier der radioaktive Zerfall von Silber

Wie kann ich Grafiken mit Gnuplot erstellen?

So fing mein aktuelles Unisemester an, denn ich wollte die Daten aus dem Physikpraktikum mit dem Computer auswerten.

Plot aus Gnuplot - hier der radioaktive Zerfall von Silber

Plot aus Gnuplot – hier der radioaktive Zerfall von Silber

Was ich erwartet habe

Ein Programm, dem ich meine Daten gebe, noch kurz sage, wie es aussehen soll und dann macht mir das Programm ne schicke Grafik.

Was ich bekommen habe

Eine nicht grafische Oberfläche im Terminal (Eingabeaufforderung) und eine (zunächst) ganz und gar nicht intuitive Arbeitsweise.

Deswegen möchte ich allen die mit dem Thame Gnuplot anfangen wollen hier einen kleinen leichten Einstieg[1] geben. Zur generellen Arbeitsweise: Man benötigt eine Datei mit den Daten und eine Datei mit der Konfiguration, aus der Heraus Gnuplot dann die Plots erstellt.

Die Daten

Daten können Komma, oder Tabulator getrennt abgespeichert werden, in einer *.txt Datei oder *.dat oder *.csv – in der Arte der Datei ist Gnuplot sehr flexibel. Wichtig ist aber, dass Alles was nicht zu den Daten gehören soll mit einem # auskommentiert wird und dass „spalten“ erkennbar sein sollten. (euch Komma oder Tabulatoren getrennt) Zusätzlich können weitere Messreihen euch Leerzeilen getrennt angehängt werden, man kann mit gnuplot nachher sehr genau festlegen welche Daten man auswählen möchte. Somit kann man alle Daten in einer Datei erfassen.

Das Erzeugen

Die Konfigurationsdatei die man z.B. mit *.plt benennt enthält alles was man braucht und kann innerhalb von Gnuplot mit load '*.plt' oder einfach im Terminal mit gnuplot *.plt ausgeführt werden.

Die Arbeitsweise kann sehr gut in bestimmte Schritte eingeteilt werden.

  1. Datei erstellen und ganz zum Schluss erst mal nur mit plot '*.dat' eine Ausgabe erstellen. Nun sollte man erst mal nur die Datenpunkte sehen.
  2. Für den Fit, also die Ausgleichsgerade, die die Tendenz der Daten als Graph zeigt, muss man sich über die Funktion Gedanken machen. In diesem Fall eine einfache lineare Funktion f(x)=a*x+b. Diese schreibt man hin und sagt erst mal, dass a=0 und b=0.
  3. Das „fitten“ erfolgt dann mittels des befehle fit f(x) ‚*.dat‘ via a,b. Bestimmte Spalten der Datendatei kann man mittels using 1:2 auswählen und somit die Zuordnung von x und y beeinflussen. Wenn man nur bestimmte Zeilen auswählen möchte, oder durch Leerzeilen getrennte Bereiche auswählen möchte, muss man das mit every machen, wobei die einzelnen Möglichkeiten die every bietet sich wie folgt darstellen:
    # plot "my.dat" every A:B:C:D:E:F
    # A: line increment
    # B: data block increment
    # C: The first line
    # D: The first data block
    # E: The last line
    # F: The last data block
  4. Man bekommt nun eine Datei fit.log und eine entsprechende Ausgabe im Terminal, aus der man die Werte für a und b entnehmen kann und diese nun in die *.plt Datei einfügen kann.
  5. im letzten Schritt kann man nun den ersten plot Befehl und den fit Befehl auskommentieren und mittels plot '*.dat', f(x) sowohl die Daten als auch den Fitgraphen ausgeben.

 

 

Die Gestaltung

Die verschiedenen Linienarten und -farben sowie Punktarten kann man in dieser Übersicht sehen. Es ist dabei zu beachten, dass die verschiedenen Arten von Ausgabe (PNG,JPG,PostScript,etc.) teilweise unterschiedliche Farben für die Zahlen interpretieren. Hier eine Übersicht der verschiedenen Zahlen und ihrer Auswirkung

Gnuplot Linientypen und -farben sowie Punkttypen im JPEG export.

Gnuplot Linientypen und -farben sowie Punkttypen im JPEG export.

und hier als PDF  aus eine Postscript Datei erzeugt. Und hier gibt es die script-Datei dazu, zum selber erzeugen.

Gnuplot Linientypen und -farben sowie Punkttypen im PostScript export.

Gnuplot Linientypen und -farben sowie Punkttypen im PostScript export.

Zeichen, Schriften und Formeln

Man kann in Gnuplot bedingt Formeln und Schriften, sowie griechische Buchstaben benutzen. Um Formeln darzustellen kann man Exponenten mit x^{2} und Indizes mit M_{1} schreiben, das wars dann auch schon, Brüche, Wurzeln und anderen Kram könnte man, wenn man für LaTeX plottet, dort automatisch ersetzen, mehr an mathematischen Raffinessen bietet Gnuplot nicht.

Des weiteren kann man auch Schrift Type über den ‚enhanced‘ Parameter bei JPG und anderen Export Möglichkeiten nutzen, und eine Kursive Schrift immer mit {/Times-Italic M} erreichen. 

Griechische Buchstaben gehen ähnlich. Eine Tabelle mit den richtigen Bezeichnungen findet sich hier:

 

 

Footnotes    (↵ returns to text)

  1. ich möchte hier nicht auf die Installation, oder auf die Nutzung des Terminals oder der Eingabeaufforderung eingehen. Denn es gibt sowohl für MacOS (auch als brew), Linux (hier exemplarisch Ubuntu)und sogar Windows gute Tutorials. Hier möchte ich nur auf die tatsächliche Arbeit mit Gnuplot und Erstellung von Plots eingehen.
Kategorie: Allgemein, Linux

von

Ludwig Schuster

Sonntagskind und Baustler. Kaffee kann man selber rösten und analoge Fotos kann man mit Kaffee entwickeln. Achja, und Fahrräder baut man auch selber zusammen. Schreibt auf Brennpunkt-F! übers nicht-kochen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*