Gnuplot ist ein skript- und kommandozeilengesteuertes Programm zur grafischen Darstellung von Messdaten und mathematischen Funktionen. Entwickelt seit 1986 von Thomas Williams und Colin Kelley (aktuelle Hauptversion 5.x), läuft gnuplot auf praktisch jedem System und exportiert in PNG, SVG, PDF, LaTeX, PostScript und viele weitere Formate.

Start und Ausführung

gnuplot                 # interaktive Kommandozeile
gnuplot -p plot.gp      # Skript ausführen, Fenster offen lassen
gnuplot -e "plot sin(x)"   # Einzeiler
gnuplot -persist        # Fenster nach Skript-Ende halten

Wichtige Befehle

  • Plots erzeugen: plot (2D), splot (3D), replot (letzte Zeichnung wiederholen), refresh
  • Daten: plot 'daten.txt' using 1:2 with linespoints, plot 'daten.csv' using 1:2:3 with errorbars
  • Optionen setzen: set, unset, show (z.B. set grid, set logscale y, show terminal)
  • Achsen/Beschriftung: set xlabel 'Zeit', set ylabel 'Amplitude', set title 'Messreihe', set xrange [0:10]
  • Ausgabe: set terminal png, set output 'plot.png', set term pdf
  • Kurvenanpassung: fit f(x) 'daten.txt' via a, b

Beispiel-Skript

set terminal pngcairo size 800,600
set output 'sinus.png'
set title 'Sinus und Cosinus'
plot sin(x) title 'sin' with lines, cos(x) title 'cos' with lines
set output   # Datei schließen

Daten inline übergeben

plot '-' using 1:2 with lines
0 0
1 1
2 4
3 9
e

Das e beendet die Inline-Daten; praktisch für schnelle Tests ohne Datei.

Praxis-Tipps

  • Skripte mit .gp-Endung speichern und per gnuplot -p skript.gp reproduzierbar ausführen.
  • Für wissenschaftliche Publikationen: set terminal postscript eps oder set terminal cairolatex.
  • Mit set style data linespoints den Standard-Stil für alle Plots setzen.

Verwandte Grundlagen: Octave-Befehle und Scilab-Befehle nutzten gnuplot historisch als Grafik-Backend; Python-Befehle (matplotlib) und R-Befehle bieten ähnliche Plot-Funktionen.