Home / LinuxUser / 2000 / 07 / Plot-Programme unter Linux

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Debian leicht gemacht
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Malen nach Zahlen

Plot-Programme unter Linux

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.)

Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 120 Punkte (10 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...