Plots erstellen und bearbeiten (netCDF-Files)
Verfasst: Montag 22. Juni 2015, 11:20
Hallo liebe Python-Gemeinde,
ich bin ein totaler Anfänger beim Programmieren, muss aber jetzt auf Arbeit mit Python (Version 2.7) Plots von Daten in netCDF-Dateien erstellen. Ich habe auch schon ein paar grobe Ergebnisse zusammenbekommen, aber ich tu mich sehr schwer mit dem Feinschliff.
Hier mal ein Beispielprogramm:
from netCDF4 import Dataset
from matplotlib import pyplot
obj = Dataset("Ronny/MCOL2015/MCOL2015_incmp_006/mcol_trop_incmppyrnet_l1_rsds_v00_20150505000000.nc", "r")
for v in obj.variables:
_____print v # die Unterstriche sollen nur die Einrückung demonstrieren
print obj.variables["station_id"][:]
id = obj.variables["station_id"][:]
strahlung = obj.variables["rsds"][:,:]
zeit = obj.variables["time"][:]
pyplot.plot(zeit,strahlung[:,:])
pyplot.ylabel("Strahlungsintensitaet")
pyplot.xlabel("Zeit")
pyplot.show()
Meine Ausgabe sieht so aus:
runfile('/home/badeke/Bearbeitung von netCDF.py', wdir='/home/badeke')
station_id
lon
lat
zag
time
time_bnds
rsds
rsds_flag
[ 1 4 5 6 8 15 16 19 21 22 26 30 34 35 37 40 42 43 46 49 50 51 53 54 55
57 62 63 64 68 71 72 74 75 77 78 80 81 84 87 88 89 90 91 92 94 95 96 98 99]
http://www.bilder-upload.eu/show.php?fi ... 968542.jpg
Wie ihr seht, werden in meinem Bild die Messungen aller Station-IDs dargestellt (sehr viele Graphen übereinander). ich würde gerne nur die Graphen für bestimmte Station-IDs darstellen. Kann mir jemand sagen, was ich dafür machen muss?
Außerdem kann man im Bild auf der x-Achse sehen, dass die Zeit nicht sonderlich gut dargestellt wird. Ich würde gerne die Achse noch umrechnen, aber dafür müsste ich erst mal die Zeitpunkte einlesen und irgendwie eine Umrechnungsformel eingeben. Kann mir damit jemand helfen.
ich bin ein totaler Anfänger beim Programmieren, muss aber jetzt auf Arbeit mit Python (Version 2.7) Plots von Daten in netCDF-Dateien erstellen. Ich habe auch schon ein paar grobe Ergebnisse zusammenbekommen, aber ich tu mich sehr schwer mit dem Feinschliff.
Hier mal ein Beispielprogramm:
from netCDF4 import Dataset
from matplotlib import pyplot
obj = Dataset("Ronny/MCOL2015/MCOL2015_incmp_006/mcol_trop_incmppyrnet_l1_rsds_v00_20150505000000.nc", "r")
for v in obj.variables:
_____print v # die Unterstriche sollen nur die Einrückung demonstrieren
print obj.variables["station_id"][:]
id = obj.variables["station_id"][:]
strahlung = obj.variables["rsds"][:,:]
zeit = obj.variables["time"][:]
pyplot.plot(zeit,strahlung[:,:])
pyplot.ylabel("Strahlungsintensitaet")
pyplot.xlabel("Zeit")
pyplot.show()
Meine Ausgabe sieht so aus:
runfile('/home/badeke/Bearbeitung von netCDF.py', wdir='/home/badeke')
station_id
lon
lat
zag
time
time_bnds
rsds
rsds_flag
[ 1 4 5 6 8 15 16 19 21 22 26 30 34 35 37 40 42 43 46 49 50 51 53 54 55
57 62 63 64 68 71 72 74 75 77 78 80 81 84 87 88 89 90 91 92 94 95 96 98 99]
http://www.bilder-upload.eu/show.php?fi ... 968542.jpg
Wie ihr seht, werden in meinem Bild die Messungen aller Station-IDs dargestellt (sehr viele Graphen übereinander). ich würde gerne nur die Graphen für bestimmte Station-IDs darstellen. Kann mir jemand sagen, was ich dafür machen muss?
Außerdem kann man im Bild auf der x-Achse sehen, dass die Zeit nicht sonderlich gut dargestellt wird. Ich würde gerne die Achse noch umrechnen, aber dafür müsste ich erst mal die Zeitpunkte einlesen und irgendwie eine Umrechnungsformel eingeben. Kann mir damit jemand helfen.