Falls gnuplot noch nicht installiert ist, kann dies mit folgenden Befehl nachgeholt werden.
sudo apt-get install gnuplot gnuplot-x11
Gnuplot wird über die Kommandozeile gesteuert und kann auf dieser mit dem Programmnamen gestartet werden. Anschließend kann gnuplot über entsprechende Befehle gesteuert werden.
gnuplot>Um die CSV-Datei darzustellen, verwende ich folgende gnuplot Befehle:
1. Festlegen, dass die einzelnen Datenreihen per Komma getrennt sind.
gnuplot>set datafile separator ","2. Gnuplot soll beim einlesen der CSV die Zeitachse entsprechend der Datenfestlegung in der CSV-Datei interpretieren.
gnuplot>set timefmt "%Y-%m-%d %H:%M:%S"3. Auf der x-Achse soll die Zeit aufgetragen werden.
gnuplot>set xdata time4. Die x-Achse wird so konfiguriert, dass nur die Stunden und Minuten aufgetragen werden.
gnuplot>set format x "%H:%M"5. Beide Achsen sollen automatisch skaliert werden.
gnuplot>set autoscale6. Die Achsen werden entsprechend Ihres Inhaltes beschriftet
gnuplot>set ylabel "temperature"
gnuplot>set xlabel "time"
7.1 Die graphische Ausgabe erfolgt mit dem plot Befehl. Diesen übergibt man die darzustellende Datei und kann die zu verwende Spaltendarstellung, die Beschriftung der Datenreihe und die Darstellungsart festlegen.
Der folgende Befehl druckt die GPU Temperatur (Spalte 2) zur Zeit (Spalte 1) mit entsprechender Beschriftung und die einzelnen Messpunkte werden mit Linien verbunden.
gnuplot>plot "rpi_temperature.csv" using 1:2 title 'gpu temperature' with lines
7.2 Für die CPU Temperatur erfolgt alternativ die Darstellung mit:
gnuplot>plot "rpi_temperature.csv" using 1:3 title 'cpu temperature' with lines
7.3 Um beide Temperaturen in einem Diagramm zu drucken kombiniert man beide Befehle und trennt diese mit einem Komma.
gnuplot>plot "rpi_temperature.csv" using 1:2 title 'gpu temperature' with lines, "rpi_temperature.csv" using 1:3 title 'cpu temperature' with linesUm sich die Verwendung etwas zu vereinfachen, können die Einzelbefehle auch in einer Textdatei (z.B. config.plt) abgespeichert und gnuplot übergeben werden. Dieses arbeitet diese dann Zeile für Zeile ab und druckt die Graphik. Da diese anschließend sofort wieder geschlossen wird, sollte man den Befehl -persist verwenden, der dies verhindert.
gnuplot -persist config.plt
Hier noch der Inhalt der config.plt
#Gnuplot script
set datafile separator ","
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set format x "%H:%M"
set autoscale
set ylabel "temperature"
set xlabel "time"
plot "rpi_temperature.csv" using 1:2 title 'gpu temperature' with lines, "rpi_temperature.csv" using 1:3 title 'cpu temperature' with lines