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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Debian 7.1 ist erschienen
(179 Punkte bei 5 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

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'
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 120 Punkte (10 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 07/13

Aktuelle Ausgabe kaufen:

Heft bestellen 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

whowatch
Nutzer und Prozesse mit whowatch überwachen
Tim Schürmann, 18.06.2013 12:49, 0 Kommentare

Wenn Administratoren herausfinden wollen oder müssen, was die Benutzer auf einem System gerade so treiben, dann hilft ihnen whowatch. Das kleine Kommandozeilenprogramm zeigt in Ec...

Aktuelle Fragen

SUSE 12.3 64Bit: Miro funzt nicht
Wimpy *, 14.06.2013 13:05, 4 Antworten
Seit Installation von openSUSE 12.3 64Bit startet Miro nicht. (Version 5.0.4-1.24-x86_64 von Pa...
Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 4 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...