Gnuplot stellt sicherlich das Non-Plus-Ultra der Plotprogramme unter Linux dar. Die Tatsache, dass es sich hierbei um ein Kommandozeilenprogramm handelt, lässt Sie vielleicht schon ahnen, dass die Bedienung nicht ganz simpel ist. Aber keine Sorge, mit ein wenig Einarbeitungszeit werden Sie schnell gute Ergebnisse erzielen. Um darüber hinaus auch einen Eindruck von X11-basierten Plot-Programmalternativen zu erhalten, finden Sie am Ende dieses Artikels verschiedene Programme für X11/KDE beschrieben. Diese Plotprogramme können zwar vollkommen mit der Maus bedient werden, Sie werden aber merken, dass der Funktionsumfang von Gnuplot weit über den der vorgestellten KDE-Programme hinausgeht. Trotzdem sollten Sie für einfachere Aufgaben nicht auf den Komfort dieser Programme verzichten.

Fangen wir also direkt mit Gnuplot an:

Gnuplot – Der Einstieg

Falls Sie Gnuplot noch nicht auf Ihrer Festplatte haben, können Sie sich den Sourcecode im Internet besorgen. Viele aktuelle Distributionen liefern das Tool aber bereits mit.

Um Gnuplot zu benutzen, benötigen Sie eine funktionsfähige graphische Oberfläche (in der Regel X11) und einen installierten Windowmanager. Alle nachfolgenden Beschreibungen beziehen sich auf die Oberfläche KDE und den dazugehörigen Windowmanager kwm.

Um das Programm in Gang zu setzen, starten Sie einfach ein Terminal-Fenster (z.B xterm) und tippen am Eingabe-Prompt folgenden Befehl ein:

HomePC:/# gnuplot

Das Programm sollte sich jetzt wie in Abbildung 1 melden.

Abbildung 1: Gnuplot ist bereit!

Sie sehen, dass Gnuplot eine eigene Kommandozeile für Sie bereit hält. Die Befehle können hinter gnuplot eingegeben werden und mit einem Druck auf die Taste RETURN zur Ausführung gebracht werden. Bevor wir nun zu den verschiedenen Gnuplot-Befehlen kommen, wollen wir noch kurz einen Blick auf Kommandozeilenparameter werfen, die dem Programm beim Starten mit auf den Weg gegeben werden können.

Gnuplot kann eine Befehlsfolge aus einer Datei einlesen. Diese Möglichkeit ist besonders bei umfangreichen Aufgaben wünschenswert, da so nicht jedesmal alle Befehle von Neuem am Gnuplot-Prompt eingegeben werden müssen. Hinter dem Programmaufruf können beliebig viele Dateien angegeben werden, die dann nacheinander zur Ausführung gebracht werden sollen. Beispiel:

HomePC:/# gnuplot input_file_1 input_file_2

Gnuplot beginnt bei diesem Beispiel mit der Abarbeitung der Datei input_file_1. Mit den Befehlen exit und quit kann die Ausführung der ersten Datei abgeschlossen werden und zur nächsten weitergegangen werden. Wie Sie bemerken, kann man also zwischen zwei Ausführungsmodi unterscheiden:

  • der interaktive Modus (Eingaben werden vom Benutzer entgegengenommen)
  • und der Script-Modus (Eingaben werden aus einer Datei gelesen) Als letztes Beispiel zu den Kommandozeilenparametern, die Gnuplot beim Start übergeben werden können, soll folgendes betrachtet werden:
HomePC:/# gnuplot input_file_1 -- input_file_2

Hier wird mit der Ausführung der Befehle in der Datei input_file_1 begonnen, danach in den interaktiven Modus gewechselt (das - Zeichen!) und beim Beenden mit quit oder exit schließlich die Datei input_file_2 ausgeführt. Auf diese Weise ist eine Kombination der beiden Modi möglich.

Hilfe!

Kommen wir nun zum ersten Gnuplot-Befehl: help. Wie der Name bereits verrät, liefert dieser Befehl eine Online-Hilfe zu allen Gnuplot-Schlüsselwörtern. Geben Sie zunächst

gnuplot> help

ein. Es erscheint eine allgemeine Einführung in Gnuplot mit einer Auflistung aller weiteren Hilfethemen. Mit q beenden Sie die Anzeige des Hilfetextes und gelangen zum Prompt:

Help topic:

Jetzt können Sie ein Hilfethema angeben und den zugehörigen Text lesen. (Beispiel: plot) Hält Gnuplot noch weitere Unterthemen bereit, haben Sie nach dem Beenden der Hilfetextanzeige die Möglichkeit, diese am Prompt:

Subtopic of plot:

einzugeben. (Beispiel: example) Drücken Sie einfach RETURN, um zum normalen Hilfe-Prompt zurückzukehren. Ein weiteres RETURN beendet den Hilfemodus. Brauchen Sie Hilfe zu einem bestimmten Schüsselwort, dann geben Sie den Help-Befehl mit folgendem Syntax ein:

gnuplot> help 'Befehl'

Gnuplot verfügt über zahlreiche Variablen zur Einstellung verschiedener Parameter. (Zum Setzen dieser Werte später mehr) Einen Überblick über die aktuellen Werte erhalten Sie mit der Eingabe von:

gnuplot> show all

Mit diesen (Hilfe)-Möglichkeiten ausgerüstet können Sie sich jetzt an weitere Gnuplot-Befehle trauen.

Pinsel und Farbe

Die beiden mit Abstand wichtigsten Befehle dürften plot und splot sein. Plot ist für das Zeichnen von 2D-Plots verantwortlich. Analog dazu, übernimmt splot das Zeichnen von 3D-Plots. Um direkt mit einem Beispiel zu beginnen, tippen Sie plot x**2 hinter die Gnuplot-Kommandozeile ein. Es wird eine einfache 2D-Parabel gezeichnet. Vergleichen Sie nun den Plot von plot und splot, indem Sie splot x**2 eingeben. Die Ergebnisse sollten den Abbildungen 2 und 3 entsprechen.

Abbildung 2: plot in Aktion
Abbildung 3: splot in 3D

Wie Sie sicher schon gesehen haben, hat gnuplot die Funktionswerte mit der entsprechenden Achseneinteilung selbst vorgenommen. Auf diese Weise ist es Ihnen möglich, sehr schnell Funktionen ohne vorgegebene Werte zu zeichnen. Natürlich können Sie auch auf diese Einstellungen Einfluss nehmen. Betrachten wir zunächst die Angabe von Minimal- und Maximalwerten für die X- und Y-Achse:

plot [0:5] [0:10] x**2

Die x-Werte gehen von 0 bis 5 und die y-Werte von 0 bis 10. Da in dieser Einteilung keine negativen x-Werte vorkommen, sehen Sie nur noch einen Ast der Parabel. Da die autoscale-Funktion von Gnuplot standardmäßig aktiviert ist, nimmt der Computer die Intervalleinteilung automatisch vor. Wie Sie dieses Verhalten ändern, erfahren Sie später bei der Besprechung des set-Befehls.

Eine einzelne Funktion haben Sie bereits erfolgreich gezeichnet. Wie gehen Sie aber vor, wenn mehrerer Funktionen in eine Grafik sollen? Ganz einfach! Trennen Sie die verschiedenen Funktionen einfach durch ein Komma.

plot [-5:5] [-5:5] x**2, sin(x)

Auf diese Weise ist es Ihnen möglich, nahezu beliebig viele Funktionen auf einmal zu zeichnen. Aus dem letzten Beispiel können Sie erkennen, dass Gnuplot bereits Funktionen definiert hat ( sin() ). Eine Auflistung der wichtigsten vordefinierten Funktionen finden Sie in Tabelle 1. Wie Sie selbst Funktionen definieren können, finden Sie weiter unten in diesem Artikel. Sie haben bestimmt ebenfalls bemerkt, dass Gnuplot das Aussehen der Funktionsplots (Farbe usw.) selbst bestimmt. Natürlich ist es auch in diesem Fall möglich, selbst in das Geschehen einzugreifen. Um eine Funktion in einem bestimmten Stil zu plotten, können Sie das Kommando with an den Plot-Befehl anschließen. Folgendes Beispiel sollte die Verwendung verdeutlichen:

plot sin(x) with points

Anstatt einer durchgehenden Funktionslinie werden jetzt einzelne Punkte gezeichnet. Als Standardwert für den Plot-Stil ist lines gewählt. Folgende Stile sind in Gnuplot verwendbar. Am besten probieren Sie die verschiedenen Möglichkeiten selbst aus, um die entsprechenden Veränderungen zu sehen.

  • lines
  • points
  • linespoints
  • impulses
  • dots
  • steps
  • errorbars
  • xerrorbars
  • yerrorbars
  • xyerrorbars
  • boxes
  • boxerrorbars
  • boxxyerrorbars Um verschiedene Muster oder Farben zu wählen, geben Sie einfach zwei weitere Parameter in Form von ganzen positiven Zahlen hinter dem Stil an:
plot sin(x) with 2 3

In die 3. Dimension

Die Grundlagen des 2D-Plots beherrschen Sie nun. Wenden wir uns also dem Zeichnen von dreidimensionalen Plots zu. Der Befehl splot ist dem Befehl plot sehr ähnlich, was Sie nach der Eingabe von:

splot x**2

sofort bemerken werden. Die Angabe von Stilen für das Zeichnen ist auf die gleiche Weise wie bei plot möglich. Der einzige wesentliche Unterschied zu plot, besteht darin, dass auch eine Z-Achseneinteilung vorgenommen werden kann.

splot [-5:5] [-5:5] [0:3] x**2 with lines 3

Wir werden gleich noch einmal auf die Plot-Befehle in Verbindung mit Datendateien eingechen. Weitere Informationen zu den sehr umfangreichen Möglichkeiten von plot und splot können Sie aus der ausgezeichneten Dokumentation zu Gnuplot erhalten.

Tabelle 1 : Funktionen unter Gnuplot

abs(x) Gibt den absoluten Wert der Variablen x wieder.
cos(x) Der Kosinus von x.
log(x) Der natürliche Logarithmus von x zur Basis e.
log10(x) Der Natürliche Logarithmus von x zur Basis 10.
rand(x) Generiert eine Zufallszahl.
sin(x) Der Sinus von x wird berechnet.
sqrt(x) Wurzel aus x (engl.: square root)
tan(x) Der Tangens von x.
weitere Funktionen entnehmen Sie bitte der Dokumentation zu Gnuplot.

Daten-files

Die Verwendung von Gnuplot-Skripten haben Sie bereits kennengelernt. Gnuplot kennt neben diesen Scripts aber noch eine weitere Art von Dateien: die Daten-files. Anders als bei Skripten, die Gnuplot-Befehle enthalten, sind in diesen Dateien Daten in Form von Zahlen enthalten, die für einen Plot benutzt werden sollen. Die Verwendung von Daten in Dateien ist sehr einfach. Betrachten Sie den einfachen Aufbau der Datei daten1.dat in Listing 1.

Die Datei ist aus zwei einfachen Zahlenspalten für einen 2D-Plot aufgebaut. Die Spalten müssen mindestens mit einem Leerzeichen getrennt sein. Alternativ können Sie auch ein [Tab]-Zeichen verwenden. Mit plot 'daten1.dat' wird der Plot gestartet. Sie sehen eine Grafik aus Punkten aufgebaut, die genau den Werten aus daten1.dat entspricht. Für einen 3D-Plot können Sie natürlich eine 3. Zahlenspalte in der Daten-Datei anlegen. Die Datei wird dem Befehl splot genau wie bei plot als Argument übergeben. Achten Sie darauf, dass die Datei mit den Daten in dem aktuellen Arbeitsverzeichnis von Gnuplot liegt. Mit pwd können Sie das Verzeichnis ausgeben. Mit cd wechseln Sie das Working-Directory. Die Attribute für einen Plot, die Sie bereits weiter oben kennen gelernt haben, lassen sich natürlich auch mit Daten-files verwenden.

Listing 1

– Datei daten1.dat

1 2
2 3
4 5
5 6
7 7
8 9
10 11

Eine besondere Betrachtung verdient die Plot-Befehlsergänzung using, die in Zusammenhang mit Daten-Dateien eine Selektierung der Daten anhand des Formats vornimmt. Was sich im ersten Moment ziemlich kompliziert anhört, ist eigentlich nicht besonders schwierig. Um den Einstieg nicht komplizierter als notwendig zu gestalten, hier zunächst ein einfaches Beispiel mit der using-Ergänzung:

plot "daten1.dat" using 2:1

Die beiden Zahlenwerte hinter using geben die Reihenfolge der Spalten an, die zum Plotten benutzt werden sollen. In diesem Beispiel, das ebenfalls die Datei daten1.dat verwendet, wurden die Zahlenpaare also nur umgedreht. Sie haben die Möglichkeit, Dateien mit mehreren Zahlenspalten zu erstellen und gezielt die Spalten hinter using anzugeben, die benutzt werden sollen.

Es können ebenfalls Formatvorgaben gemacht werden. Ähnlich dem C-Befehl scanf werden die Daten mit %-Zeichen beschrieben. Weitere Informationen hierzu finden Sie in Tabelle 2 und in der Online-Dokumentation zu plot.

Format-Vorgaben mit "using"

%*lf Ignoriert eine Zahl
%lf Liest eine Zahl mit doppelter Genauigkeit
%*20[^\n] Ignoriert 20 Zeichen, ausgenommen dem Newline-Zeichen

Laden und Speichern

Sie haben bereits gesehen, dass Script-Dateien mit Gnuplot-Befehlen beim Programmstart als Parameter übergeben werden können. Diese Dateien werden dann Zeile für Zeile abgearbeitet, genau so, als wenn Sie alle Befehle der Datei per Hand am Gnuplot-Prompt eingegeben hätten. Das Ausführen von Dateien kann nicht nur beim Start vorgenommen werden, sondern auch zur Laufzeit des Programms. Wenn wir nun die Überschrift dieses Abschnitts ins Englische übersetzen, haben wir bereits die benötigten Befehle zum Laden und Speichern von Dateien: load und save. Mit dem Kommando load bringen Sie Gnuplot-Scripts zur Ausführung. Bei der Übergabe von Dateien beim Programmstart kommt ebenfalls der load-Befehl zum Einsatz.

Wo es einen Befehl zum Laden gibt, gibt es auch immer ein Gegenstück zum Speichern. In diesem Fall ist dies der Befehl save. Der save-Befehl speichert benutzerdefinierte Funktionen (mehr dazu später), Variablen, alle Optionen des set-Befehls sowie das letzte plot/splot-Kommando. Auf diese Weise machen Sie einen 'Schnappschuss' der aktuellen Definitionen und Einstellungen der Gnuplot-Umgebung. Mit load kann die erstellte Datei eingelesen werden. Um nur bestimmte Sachen, wie z.B. Variablen zu speichern, kann dem save-Befehl noch ein weiterer Parameter mitgegeben werden. Vor dem Dateinamen, der in Anführungszeichen stehen muss, kann dafür eine der folgenden Optionen angegeben werden.

  • functions (es werden nur benuztzerdefinierte Funktionen gespeichert)
  • var (es werden nur Variablen gespeichert)
  • set (es werden nur die aktuellen set-Einstellungen gespeichert) Zum besseren Verständnis zum Schluss noch einmal ein Beispiel:
save 'plot1.gnu'
save functions 'func.gnu'
save var 'var.gnu'
save set 'set.gnu'
load 'plot1.gnu'

Einstellungen

Wie bereits weiter oben mehrfach erwähnt finden sich unter Gnuplot zahlreiche Variablen, mit denen Einstellungen vorgenommen werden können. Zum Setzen dieser Werte gibt es natürlich den Befehl set. Da dieser Artikel bei Weitem nicht ausreicht, um alle set-Optionen zu beschreiben, werden wir uns an dieser Stelle auf die wichtigsten Optionen beschränken. Für weitere Informationen gibt die mitgelieferte Dokumentation Auskunft.

Sehen wir uns zunächst ein einfaches Beispiel an:

set title "Sinus-Funktion"
set xlabel "x-Achse"
set ylabel "y-Achse"
plot sin(x)

Die Zuweisung von Werten an Variablen erfolgt immer nach demselben Muster: als erstes steht immer set, gefolgt von der Variable und schließlich der Wert, den die Variable annehmen soll. Ob Sie eine Zeichenkette oder Zahlen als Werte angeben können, hängt von der Variablen ab. Wie aus dem oberen Beispiel zu erkennen, vergeben wir Beschriftungen für die X-Achse, Y-Achse und einen Titel für den gesamten Plot. Hierzu verwenden wir natürlich Zeichenketten, die in Anführungszeichen eingefasst sein müssen. Um auch die Verwendung von Integer-Werten für Variablen klar zu machen hier ein weiteres Beispiel:

set xrange [-20:20]
set yrange [-5:5]
set size 0.5,0.5

Bei den Variablen xrange und yrange ist besonders darauf zu achten, dass das Zahlenpaar in eckigen Klammern, getrennt durch einen Doppelpunkt, anzugeben ist. Wie Sie vielleicht schon vermutet haben, legen xrange und yrange den Bereich der X- und Y-Achse fest. Alle Einstellungen, die mit set durchgeführt werden, sind global und bis zur nächsten Änderung (oder Neustart des Programms) aktiv. Alle weiteren plot/splot-Befehle verwenden jetzt diese Einstellungen. Die letzte Variable aus dem oberen Beispiel ist size. Hiermit geben Sie einen Skalierungsfaktor für die X-Achse und Y-Achse an. Die beiden Werte werden durch ein Komma getrennt. Mit der Einstellung 0.5 wird die Grafik folglich um 50% verkleinert dargestellt.

Die verschiedenen Stile, die zum Zeichnen von Grafiken ausgewählt werden können, haben Sie bereits kennengelernt. Um diese Auswahl global vorzunehmen, kann ebenfalls auf den set-Befehl zurückgegriffen werden. Mit der Eingabe

set [data;function] style [styles]

legen Sie die Stile fest, die für alle weiteren plot-Befehle verwendet werden sollen. Es muss als erster Parameter mit angegeben werden, ob sich die Einstellung auf Daten-Plots (data) oder Funktions-Plots (functions) bezieht. für styles können die verschiedenen Ihnen bereits bekannten Stilarten (impulses, points, usw.) angegeben werden.

Eine weitere Variable stellt grid dar. Bisher wurden alle Koordinatensysteme ohne Hintergrundgitter gezeichnet. Falls Sie jedoch eine Gittereinteilung wünschen, gibt Ihnen der set-Befehl mit der Variablen grid die Möglichkeit, das Gitterzeichnen zu aktivieren. Natürlich stehen Ihnen auch hier viele Optionen zur detaillierten Anpassung zur Verfügung. Legen Sie jedoch keinen Wert auf spezielle Anpassungen des Gitters, reicht die Eingabe eines einfachen set grid, um die Gitterzeichnung einzuschalten. Um die X-Gitterlinien/Y-Gitterlinien getrennt zu aktivieren, stehen Ihnen noch die Parameter xtics und ytics zur Verfügung, die einfach hinter grid geschrieben werden. Analog zum getrennten Einschalten sind die Befehle noxtics und noytics zum getrennten Abschalten vorhanden. Für weitere Optienen in Verbindung mit der Variablen grid verweise ich auf die Online-Dokumentation zu Gnuplot.

Als letzte Option für den Befehl set wollen wir die autoscale-Funktion genauer betrachten. Die restlichen Variablen finden Sie, wie bereits erwähnt, in der Dokumentation zu Gnuplot näher beschrieben.

Mit der Variablen autoscale legen Sie fest, ob die automatische Skalierung der Achsen benutzt werden sollen. Ist diese Variable eingeschaltet, wird ohne Rücksicht auf die aktuellen range-Einstellungen der Achsen die beste Skalierung vom Computer vorgegeben. Einige Beispiele sollten die Benutzung von autoscale verdeutlichen:

set autoscale           ( Die Funktion autoscale ist für alle Achsen aktiviert. )
set autoscale y         ( Die Funktion autoscale ist nur für die y-Achse aktiviert. )
set autoscale ymin      ( Der Minimalwert für die y-Achse wird automatisch berechnet. )
set autoscale xy        ( autoscale ist für die X- und Y-Achse aktiviert. )
set noautoscale         ( autoscale ist für alle Achsen deaktiviert. )
set noautoscale z       ( autoscale ist für die Z-Achse deaktiviert. )

Damit sollte die kurze Einführung in den set-Befehl beendet sein. Bleibt noch zu erwähnen, dass alle Variablen dieses Befehls auch mit dem Kommando show benutzt werden können. Auf diese Weise erfahren Sie die momentane Einstellung der hinter show angegebenen Variable. Nachdem Sie auf diese Weise eine auf Ihre Bedürfnisse angepasste Gnuplot-Umgebung geschaffen haben, werden wir im nächsten Abschnitt auf die Benutzung und Definition eigener Variablen und Funktionen eingehen.

Selbst gemacht

Nachdem Sie bereits Funktionen und Variablen aus Gnuplot kennengelernt haben, kommen wir nun zu selbstdefinierten Funktionen und Variablen.

Die Definition eigener Variablen ist sehr einfach. Weisen Sie dem Variablennamen einfach den Wert zu, den die Variable erhalten soll. Beispiel:

i=2

Die Variable i hat jetzt den Wert 2 angenommen. Vergewissern Sie sich durch die Eingabe von show variables, ob alles ordnungsgemäß verlaufen ist. Sie sollten als Ausgabe alle definierten Variablen mit ihrem Wert sehen (die Variablen, die zur Einstellung der Gnuplot-Umgebung dienen, sind hier nicht enthalten). Wie Ihnen sicherlich aufgefallen ist, ist neben der Variablen i, auch die Variable pi definiert. Alle aufgeführten Variablen können jetzt für alle Befehle in Gnuplot verwendet werden. Wollen Sie z.B. die Funktion x^2 plotten, können Sie jetzt anstatt plot x**2 auch plot x**i schreiben.

Die Definition von eigenen Funktionen ist ebenfalls nichts Besonderes. Mit der Eingabe show functions sehen Sie, dass im Startzustand von Gnuplot noch keine eigenen Funktionen vorhanden sind. Legen Sie eine einfache Beispielfunktion durch die folgende Eingabe an:

func1(x, y) = x**y
plot func1(x, 3)        (ist gleich der Funktion x**3)

Die Funktion func1 hat 2 Parameter: x und y. Um die erstellte Funktion zu plotten, wird für die Variable x die Variable x eingesetzt. Durch das Einsetzen von x in einen Funktionsaufrauf wird ein fortlaufender Variablenwert erzeugt. y dagegen bekommt einen festen Wert zugewiesen. Beispiele für weitere mögliche Funktionsdefinitionen sind:

len3d(x, y, z) = sqrt(x*x+y*y+z*z)
ramp(t) = (t > 0) ? t : 0

(Wenn t größer als 0 ist, wird als Funktionswert t zurückgegeben, wenn t kleiner 0 ist wird dagegen immer der Wert 0 zurückgeliefert.)

The End

Soweit unsere kurze Einführung zu Gnuplot. Sicherlich kann dieser kurze Rundgang keinen Ersatz zur ca. 110-seitigen Dokumentation darstellen, jedoch zum besseren Verständnis der in Englisch abgefassten Beschreibung beitragen. Viele Gnuplot-Befehle, die in diesem Artikel nicht mehr ausführlich behandelt werden konnten, finden Sie, zusammen mit den anderen Befehlen, in Tabelle 3. Viele nützliche Informationen erhalten Sie ebenfalls aus den zahlreichen Beispielen, die dem Programm beigefügt sind.

Wie in der Einleitung bereits erwähnt, wollen wir am Schluss noch einen Blick auf die verschiedenen Alternativen zu Gnuplot unter X11/KDE werfen. Sie werden zwar schnell feststellen, dass keines der nachfolgenden Programme an die Fähigkeiten von Gnuplot heranreicht, aber auch den Komfort dieser GUI-Programme zu schätzen wissen. Für viele kleinere Aufgaben ist eben keine umfangreiche "Programmiersprache" wie die von Gnuplot notwendig. Da Linux in letzter Zeit immer öfter mit Windows verglichen wird, haben GUI-Programme neben Kommandozeilen-Tools sicher auch Ihre Daseinsberechtigung.

Tabelle 3: Befehlsreferenz Gnuplot

cd Wechselt das Arbeitsverzeichnis. Das Verzeichnis muss in Anführungszeichen eingeschlossen werden.
call Der call-Befehl ist dem load-Befehl sehr ähnlich. Eine Ausnahme gibt es jedoch. Es können beim Laden bis zu 10 Parameter hinter der Datei übergeben werden. Dieses Vorgehen ist sinnvoll, wenn in einer Datei Parameter erwartet werden: Steht etwa folgende Zeile in der zu ladenden Datei:
  print "var1=$0 var2=$1 var3=$2"
  erwartet die Datei 3 Parameter. Der call-Aufruf könnte dann so aussehen:
  call 'datei' "Hallo" 1 2
  Die Variablen würden folgende Werte annehmen:
  var1="Hallo"var2=1 var3=2
clear Dieser Befehl setzt das Ausgabegerät in den Standardzustand zurück.
exit/quit Beenden den aktuellen Gnuplot-Befehl. Bei der Angabe von mehreren Dateien wird die Ausführung beendet und zur nächsten übergegangen. exit und quit beinhalten den clear-Befehl.
help Das help-Kommando liefert die Online-Hilfe zu einem bestimmten Schlüsselwort. Das Format dieses Befehls sieht folgendermaßen aus: help [Schlüsselwort].
if Das if-Kommando ermöglicht die bedingte Ausführung eines Befehls. Folgendes Beispiel verwendet das if-Kommando, um die Zahl pi zu überprüfen.
  if (pi!=acos(-1)) print "Fixing pi!"; pi=acos(-1); print pi
load Der load-Befehl dient zum Laden von Gnuplot-Skriptdateien. Die Dateien können alternativ auch beim Start des Programms als Kommandozeilenparameter übergeben werden.
pause Der Befehl hat folgendes Format: pause [time] [string]. Setzen Sie für time einen Zahlenwert in Sekunden ein, für den die Programmausführung unterbrochen werden soll. Für den Platzhalter string geben Sie einen Text in Anführungszeichen an, der während der Pause ausgegeben werden soll. Bei Angabe des time-Werts -1 wird auf den Druck der Taste RETURN gewartet.
plot/splot plot dient zum Zeichnen von 2D Daten- und Funktionsplots. splot hat dieselbe Funktion, mit dem Unterschied, dass 3D-Plots ausgegeben werden.
print print gibt entweder einen Textstring oder eine Variable aus.
pwd Verhält sich genau wie der äquivalente Unix-Befehl. Gibt das Arbeitsverzeichnis aus.
replot replot wiederholt den letzen plot/splot-Befehl.
reread reread beginnt mit dem erneuten Einlesen der aktuellen Kommandodatei.
reset Der reset-Befehl stellt alle Gnuplot-Variablen, die mit set verändert werden können, auf ihre Standardeinstellungen zurück.
save Sichert Variablen, Funktionen und aktuelle set-Einstellungen in einer Datei. Um auszuwählen, was gesichert werden soll, können wahlweise die Parameter functions, var oder set zwischen Befehl und Datei angegeben werden.
set/show set weist der angegebenen Variablen den gewünschten Wert zu. show gibt den aktuellen Variablenwert aus.

ksciplot

Das Programm ist bereits in vielen aktuellen Distributionen enthalten, ansonsten finden Sie es, übrigens wie die anderen Programme dieses Artikels, auf der Website http://www.freshmeat.net . Die Bedienung ist sehr einfach, da alle Einstellungen über Dialoge vorgenommen werden können. Nach dem Start des Programms erscheint zunächst ein leeres Koordinatensystem. Um eine Funktion anzulegen, gehen Sie unter den Menüpunkt Funktionen/Neu oder drücken Sie [Strg+N]. Es erscheint ein Dialog wie in Abbildung 4 dargestellt.

Abbildung 4: ksciplot – Anlegen einer neuen Funktion

Hinter f(x) können Sie jetzt die gewünschte Funktion eingeben. Der Button Farbe hält einen Auswahldialog zur Farbeeinstellung der aktuellen Funktion bereit. Unter dem Auswahlfeld Linienstil können Sie eine der folgenden Linienarten wählen:

  • durchgezogen
  • Striche
  • Punkte
  • Strich Punkt
  • Strich Punkt Punkt Die Auswahl durchgezogen ist als Standard ausgewählt. Für eine Beispiel-Funktion benutzen wir folgende Einstellungen:
* f(x) = x^2
  • Farbe: blau
  • Linienstil: durchgezogen

Es sollte nach dem Klick auf OK ein Plot ähnlich dem in Abbildung 5 erscheinen.

Abbildung 5: ksciplot – Plot der Funktion x^2

In der Symbolleiste des Hauptfensters finden Sie auf der linken Seite ein Auswahlfeld der Funktionen. Mit den Tasten + und - kann durch die Liste geblättert werden. Neben dem Auswahlfeld befindet sich ein Button, der, abhängig von der ausgewählten Funktion, eine Linie enthält. Die Linie ist identisch, mit der Linie die zum Plotten der Funktion verwendet wird. Durch einen Klick auf diesen Button öffnet sich der gleiche Dialog wie beim Erstellen der Funktion. Somit können auch im Nachhinein noch Anpassungen an den Zeichnungsattributen vorgenommen werden. Anschließend folgen drei weitere Schaltflächen:

  • neu – wie Menüpunkt Funktionen/Neu oder [Strg+N]
  • Löschen – löscht die aktuelle Funktion
  • Lupensymbol – dient zum Verkleinern des Bildausschnitts. Wollen Sie einen Auschnitt des Koordinatensystems vergrößern, ziehen Sie einfach ein Rechteck mit der Maus über die entsprechende Stelle. Es erscheint dann eine vergrößerte Darstellung dieses Bereichs.

Für Einstellungen, die das gesamte Koordinatensystem betreffen, steht Ihnen der Menüpunkt Funktionen/Übersicht zur Verfügung. Durch einen Klick auf diesen Menüpunkt erscheint ein Dialog mit 4 Unterdialogen:

  • Funktionen
  • Koordinaten
  • Gitter
  • Labels Abbildung 6 zeigt den Dialog mit dem Unterdialog Koordinaten.
Abbildung 6: ksciplot – Globale Einstellungen

Der Dialog Funktionen listet noch einmal alle eingegebenen Funktionen auf und bietet die Möglichkeit, die Funktionsattribute zu verändern sowie neue Funktionen anzulegen.

Unter der Überschrift Koordinaten ist es möglich, den Achsenbereich festzulegen, indem die minimalen und maximalen Werte für die X- und Y-Achse angegeben werden. Die Standardeinstellung beträgt in diesem Fall für beide Minimalwerte -5 und für beide Maximalwerte 5.

Das Dialogfeld Gitter bietet Anpassungen zum Gitter an. Es wird zwischen 4 verschiedenen Gitterarten unterschieden – seltsamerweise zählt auch die Achsenbeschriftung zum Gitter.

  • aus – Das Gitter und die Achsenbeschriftung ist deaktiviert.
  • Achsenbeschriftung – Die Achsenbeschriftung ist eingeschaltet.
  • Gitter – Das Gitter wird normal mit der unter Linienstil angegeben Auswahl gezeichnet.
  • Punkt – Es werden lediglich Punkte an den Koordinatenpunkten zur Orientierung gezeichnet. Weiterhin finden sich zwei Felder zur Angabe von Gitterbreite und Gitterhöhe. Schließlich kann auch noch der Linienstil, der bei der Option Gitter verwendet werden soll, ausgewählt werden. Es stehen dieselben Optionen zur Auswahl, die auch schon bei dem Erstellen von Funktionen zur Verfügung standen. Mit dem Button Farbe wird, wie sollte es auch anders sein, die Gitterfarbe festgelegt.

Das letzte Dialogfeld ist mit dem Namen Lables gekennzeichnet und bietet die Möglichkeit, Beschriftungen an bestimmten Positionen im Koordinatensystem zu platzieren. Der Button Eigenschaften öffnet einen Dialog, in dem bestehende Beschriftungen angepasst werden können. Der Button Löschen ist selbsterklärend und mit der Schaltfläche Neu öffnen Sie einen Dialog, der Ihnen das Erstellen von neuen Beschriftungstexten gestattet. In diesem Dialog müssen Sie den Labeltext und die X/Y-Position im Koordinatensystem definieren. Weiterhin haben Sie die Möglichkeit, ein kleines Kreuz am Labeltext erscheinen zu lassen.

Wie auch bei Gnuplot gibt Ihnen ksciplot die Möglichkeit, auf eine Reihe von vordefinierten Funktionen zurückzugreifen. Weitere Informationen erhalten Sie durch einen Aufruf der Online-Hilfe unter dem Help-Menü.

Leider bietet ksciplot noch nicht die Möglichkeit, den aktuellen Zustand in einer Datei abzuspeichern. Aber was nicht ist, kann ja noch werden.

kmplot

kmplot ist ebenfalls ein GUI-Programm, das genau wie ksciplot das Plotten von zweidimensionalen mathematischen Funktionen erlaubt. In Abbildung 7 sehen Sie das Hauptfenster mit der gezeichneten Funktion x^2.

Abbildung 7: kmplot – Hauptfenster

Werfen wir zunächst einen Blick auf den Menüpunkt Funktionen. Dieses Menü bietet keine Unterpunkte, sondern öffnet bei einem Klick direkt ein Dialogfenster zum Erstellen und Bearbeiten von Funktionen. Auf der linken Seite sehen Sie einen Auswahlbereich, der später alle von Ihnen angelegten Funktionsterme auflisten wird. Zum Erstellen einer neuen Funktionsvorschrift geben Sie unter Funktionsterm die neue Vorschrift ein. Ein anschließender Klick auf den Button OK löst sofort den Zeichenvorgang aus.

Um bereits erstellte Funktionsterme zu ändern, reicht ein Doppelklick auf die entsprechende Funktionsvorschrift in der Liste. Alternativ zum Doppelklick löst ein Klick auf den Button Editieren die gleiche Funktion aus.

Anders als in ksciplot muss bei kmplot der Funktionsname mit den Parametern im Funktionsterm enthalten sein. Diese Schreibweise sollte Ihnen aber bereits aus Gnuplot bekannt sein:

f(x)=x^2
g(f)=f*2
f(x)=sin(x)*2

Natürlich bietet auch kmplot die Möglichkeit, das Aussehen eines Funktionsterms zu bestimmen. Selektieren Sie dafür zunächst die gewünschte Funktion und betätigen Sie anschließend die Schaltfläche Attribute. Das Eingabefeld links nimmt die Linienstärke entgegen, die für den Plot benutzt werden soll. Die Stärke wird dabei in der Einheit 0,1 mm angegeben. Der Button Farbe öffnet einen Farbeauswahldialog, in dem Sie die Farbe für die Funktionslinie angeben können. Die Linienart (Punkte, Striche, usw.) kann unter kmplot leider nicht geändert werden.

Kehren wir nun zum Hauptfenster zurück und sehen uns das Menü Einstellungen näher an. Neben dem Ein- und Ausschalten von Symbolleiste und Statusleiste finden Sie vier weitere Menüpunkte, die wir im folgenden etwas genauer betrachten wollen:

  • Koordinatenachsen …
  • Skalierung …
  • Raster …
  • Schrittweite … Öffnen Sie zunächst den Dialog Koordinatenachsen. Auf der linken Seite befinden sich verschiedene Vorgaben zum Achsenbereich, die direkt ausgewählt werden können. Für individuelle Einstellungen stehen auf der rechten Seite des Dialogs vier Eingabefelder zur Verfügung, mit denen die Minimal- bzw. Maximalwerte der Achsen genau bestimmt werden können. Der Button Optionen hält ein Dialog bereit, der Anpassungsmöglichkeiten zu den Achsen des Koordinatensystems bezüglich des Aussehens zulässt. Durch einen Klick auf den Button OK werden die Einstellungen übernommen.

Unter dem Menüpunkt Skalierung bietet sich die Möglichkeit, die Achsenskalierung und ihre Umsetzung auf den Drucker zu ändern.

Unter der Option Raster lassen sich Anpassungen am Gitter vornehmen. Die verschiedenen Gitterarten, die zur Auswahl stehen sind:

  • ohne Raster
  • Linienraster
  • Kreuzraster
  • Kreisraster Weiterhin kann der Benutzer Angaben zur Farbe und zur Linienstärke machen.

Der letzte Menüpunkt aus der Reihe Einstellungen heißt Schrittweite. Hier lässt sich die relative Schrittweite für das Koordinatensystem eingeben.kmplot bietet neben ksciplot aber noch einen ganz klaren Vorteil: es ist möglich, die eigene Arbeit abzuspeichern. Unter dem Menü Datei/Speichern unter können Sie dazu die entsprechenden Angaben machen. Weiterhin bietet kmplot eine durchaus nützliche Online-Dokumentation, in der auch die vordefinierten Funktionen und Konstanten beschrieben sind.

Ob nun ksciplot oder kmplot besser zum 2D-Plotten geeignet ist, lässt sich nur schwer sagen. An den Funktionsumfang von Gnuplot reicht natürlich keines der vorgestellten Programme heran, auf Grund der Möglichkeit, seine Arbeit abzuspeichern, glaube ich jedoch, dass kmplot derzeit die bessere Wahl unter KDE darstellt. Doch ein besonderes Schmuckstück unter den GUI-Plotprogrammen habe ich bis jetzt ja noch nicht erwähnt:

Kplot3d

Kplot3d ist speziell auf das Plotten von dreidimensionalen Funktionen ausgerichtet. Einen 2D-Modus sucht man hier vergeblich. Somit ist Kplot3d die perfekte Ergänzung zu kmplot oder ksciplot. Das Hauptfenster ist in Abbildung 8 dargestellt.

Abbildung 8: Kplot3d im Einsatz

In der Menüleiste finden Sie drei Punkte.

Unter dem Menü File finden Sie alle benötigten Befehle zum Drucken und Speichern, wobei das Speichern nur als Bild möglich ist. Interessant wird erst die Betrachtung des Menüs Options. Sie finden folgende drei Untermenüs:

  • Ranges
  • Colors
  • Toggle surface type Durch einen Klick auf Ranges zeigt sich der entsprechende Dialog, in dem Sie zunächst die Möglichkeit haben, Minimal- und Maximalwerte für die X- und Y-Achse zu definieren. Da Kplot3d ein dreidimensionales Koordinatensystem benutzt, haben Sie auf der rechten Seite Gelegenheit, den Blickwinkel auf das Koordinatensystem zu bestimmen. Schließlich finden Sie noch drei weitere Optionen:
  • Shaded
  • Rotated
  • Lines die entsprechende Attribute für das Koordinatensystem setzen.

Der nächste Menüpunkt heißt Color. Wie der Name schon sagt, geht es hierbei um die Farbe, die der Funktionsplot annehmen soll. Leider wurde hier kein Standarddialog zur Farbauswahl implementiert, so dass sich die Einstellung der Farbe etwas schwieriger darstellt. Entweder Sie geben den genauen RGB-Wert an oder Sie wählen zwischen vier vordefinierten Farben. Zusätzlich kann auch noch der Kontrast gewählt werden.

Der letzte Punkt aus dem Menü Options heißt Toggle surface type. Hierzu müssen Sie zunächst wissen, dass Kplot3d zwei Darstellungsmodi kennt: zum einen die Darstellung als Gittermodell, zum anderen die Darstellung als Farbverlauf. Der Menüpunkt bewirkt nichts anderes als einen Wechsel zwischen den beiden Modi.

Damit hätten Sie auch schon den wesentlichen Funktionsumfang von Kplot3d verstanden. Bleibt nur noch eins: Wie gebe ich die zu plottende Funktion ein? Wie Sie vielleicht schon bemerkt haben, befindet sich unter der Symbolleiste ein Eingabefeld. Hier können Sie einfach den gewünschten Funktionsterm eintragen. Beachten Sie dabei bitte, dass der Funktionsname nicht mit angegeben wird. Beispiel:

x^2
x*2+2
sin(x)
usw.

Kplot3d kann leider nur eine einzige Funktion in ein Koordinatensystem zeichen. Wollen Sie jedoch mehrere Funktionen gleichzeitig auf dem Bildschirm haben, gehen Sie unter den Menüpunkt File/New Window, um ein vollkommen neues Fenster von Kplot3d zu öffnen.

Um nicht jedesmal das Dialogfeld Ranges zu öffnen, wenn Sie eine Veränderung des Blickwinkels wünschen, können Sie den Graphen auch einfach mit der Maus in die entsprechende Stellung drehen. Gehen Sie dazu einfach mit dem Mauszeiger auf die Funktionskurve und ziehen Sie die Maus mit gedrückter Taste bis der Graph die gewünschte Stellung erreicht hat.

Finish

Hiermit endet unser kurzer Rundgang durch die (Linux-)Welt der Plot-Programme. Bleibt noch zu bemerken, das Gnuplot auch in der Zeit von KDE eines der besten Plot-Werkzeuge unter Linux darstellt. Die Funktionsvielfalt ist nahezu für jede Aufgabe ausreichend und bietet mit der Fähigkeit, kleine Scripte zu schreiben, eine sehr effiziente Lösung auch für größere Aufgaben.

Tabelle 4 : Übersicht

  Gnuplot Ksciplot Kmplot Kplot3d
2D-Plotten (Funktionen) Ja Ja Ja Nein
2D-Plotten (Daten) Ja Nein Nein Nein
3D-Plotten Ja Nein Nein Ja
Speichern Ja Nein Ja Nur als Bilddatei
GUI Nein Ja Ja Ja
Unterstützung von Kommandodateien Ja Nein Nein Nein
Geschwindigkeit schnell schnell schnell mittel
Funktionsumfang sehr gut befriedigend gut befriedigend

Der Autor

Sebastian Eschweiler ist Schüler und besucht derzeit die Klasse 10 eines Gymnasiums. In seiner Freizeit beschäftigt er sich mit Themen rund um Linux und der KDE-Programmierung.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare