2010-09-14

Isolinienplan oder Höhenliniendiagramm mit QtiPlot erstellen

ACHTUNG: dieses Tutorial wurde nur mit QtiPlot 0.9.7.10 (Ubuntu 10.04) erfolgreich getestet, ältere Versionen bieten die Auswahl "Convert to Matrix -> Regular XYZ" offenbar noch nich an

Unter Excel/Calc ist es recht mühsam ein Isoliniendiagramm zu erstellen. Mit Qtiplot ist das kein Problem.

QtiPlot installieren: In den meisten modernen Linux Desktopsystemen liegt QtiPlot als vorkompiliertes Paket vor. Unter Windows muss selbst kompiliert oder die vorkompilierte Version erworben werden (oder man benutzt ein eventuell vorhandenes Origin).

Ubuntu: #sudo apt-get install qtiplot
Fedora: #su -> #yum install qtiplot
openSUSE: #su -> #zypper install qtiplot


Vorraussetzung ist ein 3D Datensatz (zB Raumkoordinaten). Im gezeigten Beispiel wurden Temperaturen in verschiedenen Höhen (0-50m) zu verschiedenen Tageszeiten bestimmt. Ziel ist ein Plan mit Linien gleicher Temperatur.

In diesem Beispiel liegen die Daten folgendermaßen vor:
1. zweite Spalte: sich ständig wiederholende Messhöhensequenz
2. erste Spalte: zur Messhöhensequenz gehörige Uhrzeit
3. dritte Spalte: zur Messhöhe und Uhrzeit gehöriger Messwert





Dann werden die drei nötigen Spalten kopiert und in eine Tabelle in QtiPlot kopiert. QtiPlot übernimmt dann die erste Zeile automatisch als Spaltenkopf.



Anschließend wird die Eigenschaft, deren Isolinien man erzeugen will als Z markiert mit Rechtsklick auf den Spaltenkopf und "Set as -> Z"



Bei markierter Z-Spalte wird in der Menüleiste "Table -> Convert to Matrix -> Regular XYZ" die Tabelle in eine Matrix kovertiert deren Spaltennummer der Messhöhe und deren Zeilennummer der Uhrzeit entspricht. Die Elemente der Matrix sind die Messwerte der Lufttemperatur.



Bei aktivem Matrixfenster wird in der Menüleiste "3D-Plot -> Isolines" ausgewählt. Mit Rechtsklick "Plot Details" auf der Diagrammfläche kann der Plot angepasst werden. Das Ergebnis sieht das so aus:



Als 3D-Plot in Polygonen hätte es folgendermaßen ausgesehen:

No comments:

Post a Comment