Je lis un fichier netcdf en utilisant python et je dois tracer un graphique en utilisant la bibliothèque matplotlib en python. Le fichier netcdf contient 3 variables: u
v
et w
composants. Je dois dessiner ces 3 composants sur une échelle verticale. Puisque ces données vont être utilisées dans un radar de prévision météorologique. Je dois tracer ces graphiques avec des courbes lisses autour du coin. maintenant le tracé regards et le code est ...
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()
Une solution simple est de faire une interpolation avec des splines, comme expliqué dans un tutoriel Nice Scipy .
Voici un exemple: