1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
import sys, fpformat, os, random, time
sys.path.append("C:\\Python26\\Lib\\site-packages")
import numpy as np
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
import numpy.ma as ma
from numpy.random import uniform, seed
import numpy
from numpy import *
import pylab as p
import mpl_toolkits.mplot3d.axes3d as p3
import PIL
import Image
import ImageOps
from matplotlib.ticker import LinearLocator, FixedLocator, FormatStrFormatter
def Carte_erreur_3D_surf():
try:
os.remove('graph température 3D surface.png')
except:
pass
x=[]
y=[]
z=[]
Fichier = 'C:\\Temp\\donnees image defaut nettoye.txt' # pour traiter les température
Table=numpy.loadtxt(Fichier)
Table=array(Table)
for i in range((len(Table))):
x.append(Table[i][0]) # coord x
y.append(Table[i][1]) # coord y
z.append(Table[i][2]) # carte de température
A=Table[0][0]
B=Table[0][1]
C=Table[len(Table)-1][0]
D=Table[len(Table)-1][1]
E=Table[0][2]
F=Table[len(Table)-1][2]
x=array(x)
y=array(y)
z=array(z)
# u and v are parametric variables.
# u is an array from 0 to 2*pi, with 100 elements
u=r_[0:2*pi:len(Table)]
# v is an array from 0 to 2*pi, with 100 elements
v=r_[0:2*pi:len(Table)]
# x, y, and z are the coordinates of the points for plotting
# each is arranged in a 100x100 array
xi = np.linspace(A,C,len(Table))
yi = np.linspace(B,D,len(Table))
zi = griddata((x, y), z, (xi[None,:], yi[:,None]), method='cubic')
print(xi, yi, zi)
fig=p.figure()
ax = p3.Axes3D(fig)
#xi, yi, zi = p3.get_test_data(0.05)
xi, yi, zi = p3.get_test_data(0.05)
print(xi, yi, zi)
#surf = ax.plot_surface(xi, yi, zi, rstride=8, cstride=8, alpha=0.3, cmap= plt.cm.jet)
surf = ax.plot_surface(xi, yi, zi, rstride=1, cstride=1, cmap= plt.cm.jet)
ax.set_xlabel('X')
#ax.set_xlim3d(A,C)
ax.set_ylabel('Y')
#ax.set_ylim3d(B,D)
ax.set_zlabel('Carte de temperature')
#ax.set_zlim3d(E, F)
#p.colorbar(surf, shrink=0.5, aspect=5)
p.colorbar(surf)
p.savefig('graph température 3D surface.png')
Img = Image.open ('graph température 3D surface.png')
Img.save(fp=str('C:\\Temp\\graph température 3D surface.png'))
p.show() |
Partager