2016-05-12 14 views
0

Ich verwende ein Wettervorhersagemodell (WRF), um verschiedene Wetterphänomene vorherzusagen, die verwendet werden, um vorherzusagen, ob das Wetter für das Gleitschirmfliegen geeignet ist.gnuplot pm3d Datenpunktabgleich

Um Trends in der Vorhersage für einen bestimmten Tag zu visualisieren, versuche ich pm3d Kartenplots wie das obere rechte Diagramm in diesem Bild example plot zu machen.

Das Wettermodell und damit meine Skripte, die CSV-Daten produzieren, laufen alle 24 Stunden und erzeugen Daten für die nächsten 7 Tage. Dies führt zu einer CSV-Datei mit dieser Struktur (nur Zeitstempel in Sekunden statt Stunden):

# Timestamp_now, Timestamp_prediction, Value 
0, 0, $value 
0, 1, $value 
... 
0, 24, $value 
0, 25, $value 
... 
0, 48, $value 

und am nächsten Tag dieser Daten hinzugefügt:

24, 24, $value 
24, 25, $value 
... 
24, 48, $value 
... 
24, 72, $value 

Das Problem, das kann entsteht, wie seine In dem Diagramm oben rechts in dem verknüpften Bild ist zu sehen, dass gnuplot den ersten Datenpunkt der Vorhersage von gestern mit dem ersten Datenpunkt der heutigen Vorhersage verbindet. Dies ist unerwünschtes Verhalten. Ich würde gerne sehen, gnuplot verbinden Datenpunkte mit dem gleichen y-Wert (vorhergesagt Datum).

Gibt es Optionen innerhalb von gnuplot, mit denen ich dieses Verhalten auslösen kann?

+1

Ich denke gnuplot kann die Handlung produzieren, die Sie machen möchten, aber ich sehe nicht klar, was Ihr Problem ist. Könnten Sie eine kurze Reihe von Daten und die dazugehörige Zeichnung posten, um das Problem hervorzuheben? – Joce

+0

müssen Sie möglicherweise Ihre Daten nach "y" -Wert sortieren, und fügen Sie eine leere Zeile zwischen zwei Datenpunkten jedes Mal, wenn Sie sie trennen möchten. –

Antwort

0

Es gibt verschiedene Möglichkeiten, wie gnuplot die Karte zieht, haben einen Blick auf diese exmples (~ in der Mitte der Seite): http://gnuplot.sourceforge.net/demo/pm3d.html

Für anspruchsvollere Heatmap Plotten, würde ich vorschlagen, Python & matplotlib verwenden , es gibt viel mehr Möglichkeiten zum Interpolieren/Neugridding der Daten. (persönlich habe ich auch mit gnuplot angefangen und bin dann auf python umgestiegen, weil es viel leistungsfähiger für die numerische/datenverarbeitung ist).