2013-02-05 27 views
11

Ich lese eine Netcdf-Datei mit Python und müssen ein Diagramm mit Matplotlib-Bibliothek in Python plotten. Die Netcdf-Datei enthält 3 Variablen u v und w Komponenten. Ich muss diese 3 Komponenten auf einer vertikalen Skala zeichnen. Da diese Daten in einem Wettervorhersageradar verwendet werden. Ich muss diese Grafiken mit glatten Kurven um die Ecke zeichnen. jetzt das Grundstück sieht like und der Code ist ...Zeichnen einer glatten Kurve in Matplotlib-Diagrammen

from netCDF4 import Dataset 
from pylab import * 
import numpy 
from scipy import interpolate 
from scipy.interpolate import spline 


#passing the filename 

root_grp=Dataset('C:\\Python27\\MyPrograms\\nnt206rwpuvw.nc') 

#getting values of u component 
temp1 = root_grp.variables['ucomponent'] 
data1 = temp1[:] 
u=data1[0] 

#getting values of v component 
temp2 = root_grp.variables['wcomponent'] 
data2 = temp2[:] 
v=data2[0] 
#getting values of w component 
temp3 = root_grp.variables['wcomponent'] 
data3 = temp3[:] 
w=data3[0] 
#creating a new array 
array=0.15*numpy.arange(1,55).reshape(1,54) 
#aliasing 
y=array[0] 
#sub-plots 
f, (ax1, ax2, ax3) = plt.subplots(1,3, sharey=True) 
ax1.plot(u,y,'r') 
ax2.plot(v,y,'g') 
ax3.plot(w,y,'b') 
#texts 
ax1.set_title('u component',fontsize=16,color='r') 
ax2.set_title('v component',fontsize=16,color='g') 
ax3.set_title('w component',fontsize=16,color='b') 
show() 
+1

Mögliches Duplikat [Parzelle glatte Linie mit PyPlot] (http://stackoverflow.com/questions/5283649/plot-smooth-line-with-pyplot) –

Antwort

16

Eine einfache Lösung Interpolation mit Splines zu tun ist, wie in einem nice Scipy tutorial erläutert. Hier

ein Beispiel:

enter image description here

Verwandte Themen