Datenanalyse mit Gnuplot

So nützlich Gnuplot als Funktionsplotter ist – das Programm ist lange nicht auf diese Aufgabe beschränkt: Eine seiner Stärken ist die Datenanalyse. Typischerweise liegen Daten, seien es Messwerte oder Protokolldaten, in Dateien oder Datenbanken vor. Listing 1 zeigt einen Ausschnitt der Beispieldatei weblog.txt, welche die Zugriffsstatistik einer Webseite enthält. Jede Zeile enthält einen Datensatz, der Seitenzugriffe mit einem bestimmten Browser zählt.

Listing 1

Beispieldaten

Konqueror_3.4   1
Mozilla_4.0     8
Mozilla_5.0     222
Mozilla_5.001   3
Mozilla_Firefox_0.9.3   3
Mozilla_Firefox_1.0     30
Mozilla_Firefox_1.0.1   2
Mozilla_Firefox_1.0.2   2
Mozilla_Firefox_1.0.3   7
Mozilla_Firefox_1.0.4   4
Mozilla_Firefox_1.0.6   3
Mozilla_Firefox_1.0.7   32
Mozilla_Firefox_1.5     6
Mozilla_Firefox_1.5.0.1 3
[…]

Als Spaltentrenner versteht Gnuplot Tabulatoren und Leerzeichen; kommaseparierte Dateien bereiten dem Tool Probleme. Im Textformat sind solche Daten schlecht lesbar, aber Gnuplot sorgt schnell für Übersicht: Mit

plot "weblog.txt" using :2 title "Anzahl Zugriffe" with boxes

wird die Datensammlung übersichtlich (Abbildung 4). Hierbei sorgt using :2 dafür, dass Gnuplot die zweite Spalte auswertet, title "Anzahl Zugriffe" erzeugt die Legende für die Balken, und with boxes legt fest, wie das Programm die Balken darstellt.

Abbildung 4: Ein einfaches Balkendiagramm ist immer anschaulicher als eine lange Liste.

Ohne letzteres Argument zeichnet Gnuplot die Werte als einzelne Punkte. Alternativ sind auch Linien (with lines, verbindet die Einzelpunkte), senkrechte Linien für jeden Datenpunkt (with impulse) oder gefüllte Flächen (with filledcurves) möglich. Abbildung 5 zeigt drei Typen der Ausgabe im Vergleich. Eine Übersicht aller Alternativen erhalten Sie, wenn Sie die Angabe des Modus weglassen, also nur plot "weblog.txt" using :2 title "Anzahl Zugriffe" with eingeben.

Abbildung 5: Drei von vielen Typen: von links nach rechts lines, impulse und boxes.

Gnuplot erkennt automatisch, ob es genügend Spalten für einen bestimmten Modus gibt. Enthält die Quelldatei mehr als zwei Spalten, teilen Sie dem Programm über using Spalte1:Spalte2 mit, welche es für die x- und y-Achse verwenden soll. Die erste Textspalte im Beispiel ist dafür aber nicht geeignet.

Scripting mit Gnuplot

Der Darstellung in Abbildung 4 fehlen die Browsernamen. Zwar ist Gnuplot nicht automatisch in der Lage, diese aus der Datendatei zu extrahieren, aber dieses Problem ist lösbar: Gnuplot kann vordefinierte Sequenzen von Aufrufen als Skripte gebündelt ausführen. Mit ein wenig Shellprogrammierung erzeugen Sie aus Listing 1 in wenigen Schritten Listing 2.

Listing 2

Beispiel eines Gnuplot-Skriptes

set title "Zugriffe mit unterschiedlichen Webbrowsern"
set xlabel "Browser"
set ylabel "Zugriffszahl"
set xtics rotate ("Konqueror_3.4" 1, "Mozilla_4.0" 2, "Mozilla_5.0" 3, "Mozilla_5.001" 4, "Mozilla_Firefox_0.9.3" 5, "Mozilla_Firefox_1.0" 6, "Mozilla_Firefox_1.0.1" 7, "Mozilla_Firefox_1.0.2" 8, "Mozilla_Firefox_1.0.3" 9, "Mozilla_Firefox_1.0.4" 10, "Mozilla_Firefox_1.0.6" 11, "Mozilla_Firefox_1.0.7" 12, "Mozilla_Firefox_1.5" 13, "Mozilla_Firefox_1.5.0.1" 14, "Mozilla_Firefox_1.5.0.10" 15, "Mozilla_Firefox_1.5.0.2" 16, "Mozilla_Firefox_1.5.0.4" 17, "Mozilla_Firefox_1.5.0.6" 18, "Mozilla_Firefox_1.5.0.7" 19, "Mozilla_Firefox_1.5.0.9" 20, "Mozilla_Firefox_2.0" 21, "Mozilla_Firefox_2.0.0.1" 22, "Mozilla_Firefox_2.0.0.2" 23, "MS_Internet_Explorer_5.0" 24, "MS_Internet_Explorer_5.01" 25, "MS_Internet_Explorer_5.23" 26, "MS_Internet_Explorer_5.5" 27, "MS_Internet_Explorer_6.0" 28, "MS_Internet_Explorer_7.0" 29, "Netscape_5.0" 30, "Netscape_7.1" 31, "Opera_7.23" 32, "Opera_9.00" 33, "Opera_9.01" 34, "Opera_9.02" 35, "Opera_9.10" 36, "Safari_312.5" 37, "Safari_419.3" 38, "Unknown" 39)
set terminal png
set output "weblog.png"
plot "weblog.txt" using :2 title "Anzahl Zugriffe per Browser" with boxes

In Gnuplot laden Sie das Skript mit load "weblog.plot" und erhalten dann das in Abbildung 6 dargestellte Diagramm als PNG-Datei. (Dafür sind die beiden schon bekannten Befehle set terminal und set output verantwortlich.) Die erste Zeile gibt dem Diagramm eine Überschrift, und die Zeilen 3 und 4 definieren die Achsentitel.

Die sehr lange Zeile 6 erzeugt die Einteilung der x-Achse, wobei rotate dafür sorgt, dass Gnuplot die Browsernamen im Diagramm um 90 Grad dreht. Die Liste enthält Kombinationen aus Browsernamen und zugehörigem x-Wert: So sorgt etwa "MS_Internet_Explorer_5.01" 25 dafür, dass statt der Zahl 25 auf der x-Achse der Text "MS_Internet_Explorer_5.01" erscheint. Die numerischen x-Werte ergeben sich aus den Zeilennummern in der Datendatei.

Abbildung 6: Beschriftungen der Achsen heißen in Gnuplot tics und sind manuell definierbar.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Plot-Programme unter Linux
    Wer unter Linux Daten graphisch visualisieren will oder einfach nur eine Möglichkeit sucht, eine mathematische Funktion auszugeben, landet früher oder später beim freien Programm Gnuplot. Dieser Artikel soll eine für Einsteiger verständliche Einführung in die Bedienung dieses Programms geben. Um Alternativen zum Kommandozeilenprogramm Gnuplot zu zeigen, werden wir dann auch einen Blick auf die in letzter Zeit immer häufiger werdenden Plotprogramme für X11/KDE werfen.
  • Websurfen soll sicherer werden
  • Neues im Webbrowser Mozilla Firefox
    Schon im Sommer 2011 geisterten Entwürfe der neuen Firefox-Oberfläche durchs Netz. Wegen technischer Schwierigkeiten erschien Version 29 allerdings erst im April 2014. Inzwischen ist Version 30 herausgekommen, die einige Sicherheitslücken schließt. Wir haben uns den schlauen Fuchs näher angesehen.
  • Debian-Installation
    Debian gilt als sichere Distribution. Diesen Ruf verdankt sie auch dem nicht so häufigen Upgrade-Zirkus, den andere Distributionen halbjährlich veranstalten. Allerdings hat das auch Nachteile, zumal auf den Arbeitsrechnern. Die aktuelle Version - und damit die Software - ist schon älter. Hier hilft ein Mix aus den Debian-Testversionen.
  • Roadmap für Mozilla Firefox 4

    Mozilla-Entwickler Mike Beltzner hat eine Präsentation der Entwicklungsziele für Firefox 4 veröffentlicht.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...