Auf meinem gestrigen Beitrag, wo ich meine Gewichtsentwicklung seit jetzt fast einem Jahr zeige, gab es einen Kommentar von Mimeiso, der gerne solche Darstellungen für sich machen würde, aber mit Apps zu diesem Zweck unzufrieden ist. Ich benutze keine App dafür. Ich benutze Gnuplot[1], auf meinem Rechner.
Gnuplot ist eine Open Source Software, die ich seit meinem Physikstudium in den Neunzigern benutze. Damals hatten wir sie gebraucht, um Daten darzustellen. Sie bietet aber vieles mehr, zum Beispiel um Funktionen an Daten anzupassen. Sie kann sogar Funktionen mit gemeinsamen Parametern an verschiedenen Datensätzen anpassen, was ich mit der kommerziellen Software Origin[1] nie machen konnte – wenigstens nicht mit der alten Lizenz, die wir am Institut während meiner Doktorarbeit zur Verfügung hatten. Ich fand es sehr nützlich, um zum Beispiel bei einem Phasenübergang zweiter Ordnung den Ordnungsparameter anhand von verschiedenen, zeitgleich gemessenen Größen modellieren zu können. Die kritische Temperatur und der kritische Exponent sind für alle Größen gleich, nur der Skalierungsfaktor unterscheidet sich. Aber ich schweife wieder ab.
Das Tolle an Gnuplot ist also, dass es eine kostenlose, leistungsstarke Software für wissenschaftliche Darstellung und Analyse von Daten ist, und es ist für alle Betriebssysteme zu haben. Gut, für aufwendige statistische Analysen ist man mit R[1] besser bedient, aber darum geht es hier nicht, sondern darum: Wie mache ich eine so geile Graphik wie hier unten? Es muss nicht unbedingt mit Excel[1] gehen.

1. Gnuplot installieren
Hier zuerst das Link zum Herunterladen. Auf sourceforge[1] muss man sich gar nicht anmelden, um Software herunterzuladen. Falls eine solche Einladung zum Anmelden angezeigt wird, einfach die paar Sekunden warten, bevor das Herunterladen gestartet wird. Ich denke, die Datei zum Herunterladen wird automatisch für das Betriebssystem angeboten, mit dem man gerade den Browser bedient.
Windows[1] Nutzer laden die .exe
Datei herunter, und der Rest sollte sich mit einem Doppelklick drauf von selbst ergeben, wenn man dieser Seite glaubt. Ich bin auf Ubuntu[1] und brauchte nur sudo apt-get install gnuplot
im Terminal anzugeben. Mac[1] Nutzer sind selber Schuld und können in der Suchmaschine ihrer Wahl suchen, wie man Gnuplot installiert.
2. Daten vorbereiten
Alle meine Daten habe ich mit Hilfe eines Texteditors in einer Datei namens P.dat
gespeichert. P, weil Gewicht auf Französisch poids heißt[2]. G.dat
erfüllte den Zweck genau so gut. Oder wasauchimmer.txt
, es ist egal. Meine Daten habe ich spaltenweise angeordnet, und darauf geachtet, dass jede Zeile den gleichen Format hat. Ein Leerzeichen zwischen den einzelnen Angaben, und für jede Gewichtsangabe zwei Nachkommastellen. So sieht ein Auszug meiner Datei aus:
04-12-2016 67.80 0.2 8 #black
05-12-2016 67.30 0.2 8 #black
06-12-2016 67.60 0.2 8 #black
07-12-2016 67.50 0.2 8 #black
08-12-2016 67.00 0.2 8 #black
12-12-2016 67.50 0.2 8 #black
13-12-2016 66.80 0.2 7 #red
14-12-2016 67.10 0.2 7 #red
Die erste Spalte ist das Datum. Das Format ist nicht wichtig, weil wir danach Gnuplot erklären, wie es zu verstehen ist. Man könnte Punkte oder Schrägstriche statt Bindestrichen benutzen, solange wir es später bei der Darstellung spezifizieren.
Die zweite Spalte ist das Gewicht. Die dritte Spalte enthält die Standardabweichung, oder eher meine Idee davon. Sie gibt an, in wie weit man dem Wert glaubt. Meine Waage zeigt Gewichte mit einer Nachkommastelle, daher könnte man ±0.1 angeben. Ich habe 0.2 gewählt, weil Wassereinlagerungen mehr als 100 g Unterschied von Tag zu Tag verursachen können. Das macht die Länge der Fehlerbalken um die Punkte aus. Wichtig ist hier, dass man den Dezimalpunkt statt einer Komma benutzt. Gnuplot spricht Englisch, das gilt auch für Zahlen.
Was in der letzten Spalte steht, ist nicht notwendig. Es ist die Farbkodierung, die in Gnuplot nicht einfach nachzuvollziehen ist. Als Kommentar habe ich mir als Gedächtnisstütze die Farbe aufgeschrieben – alles, was hinter einer Raute in einer Zeile folgt, wird von Gnuplot nicht interpretiert. Als Frau versteht man intuitiv, was es mit der Farbkodierung an sich hat. Wobei, als Mann könnte man es auch gebrauchen, wenn man zum Beispiel als Farbe kodieren will, ob man an dem Tag davor unterhalb oder oberhalb vom Tagesbedarf gegessen hat.
3. Mit Gnuplot Daten darstellen
Gnuplot starten. Unter Linux-basierten Betriebssystemen braucht man nur im Terminal gnuplot
einzutippen. Auf Windows kann man auf dem Desktop eine Verküpfung zur ausführbaren Datei erstellen und auf diese klicken. Der Pfad zur ausführbaren Datei soll etwas wie C:\Program Files (x86)\gnuplot\bin\wgnuplot.exe
sein. Dann öffnet sich ein Fenster mit einem Terminal, in dem man Befehle eintippen kann. Gnuplot ist auf Textbefehle basiert. Man schreibt etwas im Prompt, und beim Drücken der Eingabetaste interpretiert Gnuplot den Befehl und führt ihn aus. Oder gibt eine Fehlermeldung aus.
Ich empfehle, zuerst zu dem Verzeichnis zu gehen, wo die Datei P.dat
liegt: cd 'C:\Pfad\zur\Datei'
, mit den einfachen Anführungszeichen, wobei C:\Pfad\zur\Datei
natürlich nicht so eingetragen werden sollte, sondern durch den echten Pfad zur Datei ersetzt werden soll, wie zum Beispiel C:\Users\Toto\Documents
. Wenn man sich vertippt, sagt Gnuplot Bescheid. Einfach nochmal probieren.
Das Darstellen von Dateien ist meistens ganz simpel: Man gibt plot 'P.dat'
ein, und schon bekommt man ein neues Fenster mit einer Graphik. Der Anblick dürfte aber überraschend sein und gar nicht wie meine Graphik aussehen.
Es liegt daran, dass die erste Spalte, die der X-Achse entspricht, ein Datum-Format hat. Daher sollte man Gnuplot vorher darüber informieren: set xdata time
. Der Punkt hier ist nur das Ende des Satzes und gehört nicht zum Befehl. Dann wollen wir Gnuplot das Format erklären: set format x "%d-%m-%Y" timedate
. Somit weiß Gnuplot: Zuerst kommt der Tag (d
für day), dann der Monat (m
für month), dann das Jahr (Y
für year), alles durch Bindestriche getrennt. Hier mehr zum Thema. Das reicht aber nicht, und man muss noch set timefmt "%d-%m-%Y"
eintragen.
Der nächste Versuch mit dem plot Befehl scheitert, weil Gnuplot jetzt eine genauere Spezifizierung braucht, was dargestellt werden soll. Fragt mich nicht warum. Der neue plot Befehl lautet plot 'P.dat' using 1:2
, was bedeutet, dass die 1. Spalte auf der X-Achse kommt, und die 2. Spalte auf der Y-Achse. Will man die Fehlerbalken dazu, heißt der Befehl plot 'P.dat' using 1:2:3 with errorbars
. Wer wie ich noch möchte, dass die Punkte durch eine Linie verbunden werden, macht stattdessen plot 'P.dat' using 1:2:3 with errorlines
. Jetzt fehlt nur noch die Farbkodierung: plot 'P.dat' using 1:2:3:4 with errorlines lc variable
. Ich habe noch eine andere Form für die Punkte benutzt, mit gefüllten Kreisen: plot 'P.dat' using 1:2:3:4 with errorlines lc variable pt 7
. Das gleiche nochmal ohne die Legende oben rechts: plot 'P.dat' using 1:2:3:4 with errorlines lc variable pt 7 notitle
.
Nun sieht es schon mal besser aus, aber die Beschriftung auf der X-Achse ist total durcheinander. Das kann man verbessern, indem man das Datum vertikal und nicht horizontal schreiben lässt. Dafür zuerst den Befehl set xtics border in scale 1,0.5 mirror rotate by -270 autojustify
eintippen, dann nochmal den plot Befehl. Die Legende der Y-Achse habe ich mit set ylabel "Körpergewicht [kg]"
angegeben, für die X-Achse fand ich es nicht nötig.
4. Befehle zur Darstellung speichern
Puh, das war vielleicht aufwendig. Wenn man endlich soweit gekommen ist, eine zufriedenstellende Graphik zu machen, will man beim nächsten Mal nicht wieder von vorne anfangen. Zum Glück kann man alle bisher eingetragene und noch wirksame Befehle in einer Datei speichern: save 'P.gnu'
zum Beispiel. Man braucht in Zukunft nur noch die Daten in P.dat
zu aktualisieren, und in Gnuplot tippt man lediglich load 'P.gnu'
, was die ganzen Befehle wieder ausführt und die Graphik in einem neuen Fenster anzeigt.
Noch eine Anmerkung: Wenn man eine .gnu
Datei auf einem Rechner erstellt hat, sollte man nicht glauben, dass man sie auf einem anderen Rechner mit Gnuplot so einfach benutzen kann. Je nach dem, welche Gnuplot-Version installiert ist, werden einige Befehle nicht mehr verstanden, und es bleibt nur noch übrig, wie in Punkten 3. und 4. für den neuen Rechner nochmal anzufangen. Trotzdem liebe ich Gnuplot.
[1] Unbezahlte Werbung, da Namensnennung und/oder Verlinkung.
[2] Na gut, Masse (masse auf Französisch) ist ein korrekterer Begriff als Gewicht. Im täglichen Leben außerhalb vom Labor benutzt man das Wort aber kaum, wenn man von der Zahl auf der Waage spricht, oder nur, wenn man sich gerne als Besserwisser angibt.

Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.
Gefällt mir:
Gefällt mir Wird geladen...