La plupart des exemples de pyplot utilisent des données linéaires, mais que se passe-t-il si les données sont dispersées?
x = 3,7,9
Scattered x, y, z via matplotlib.pyplot.contourf de python
y = 1,4,5
z = 20,3,7
mieux meshgrid pour contourf
xi = np.linspace(min(x)-1, max(x)+1, 9)
yi = np.linspace(min(y)-1, max(y)+1, 9)
X, Y = np.meshgrid(xi, yi)
Maintenant données "z" ont à interpoler sur la meshgrid.
numpy.interp
ne fait peu d'aide ici, alors que les deux linéaire et nn interpolaton de
zi = matplotlib.mlab.griddata(x,y,z,xi,yi,interp="linear")
rendements des résultats plutôt étranges
scipy.interpolate.griddata
cube de la deuxième réponse a besoin ci-dessous quelque chose d'autre pour renvoyer des données plutôt que nils
Avec les données de niveaux personnalisés devraient être à la recherche quelque chose like this
Quelle est votre question? –
La question est de savoir comment afficher ces données (grille + données) via contourf (couleurs remplies via des niveaux personnalisés, pas de contours), et plus tard appliquer à Basemap mpl_toolkits avec le fichier de forme, mais c'est une autre étape. – dd11
Quel est le peu votre coincé? Vous avez juste besoin d'utiliser des tableaux masqués comme je le décris ci-dessous. Si vous voulez des contours remplis, ajoutez simplement CS2 = plt.contourf (X, Y, Z, 20). – fraxel