| 12
 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
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 
 |  
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_surface():
 
 
    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)
    #===========================================================================
 
    x = np.array(x)
    y = np.array(y)
    z = np.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')
 
    #xim, yim = np.meshgrid(x, y)
 
    print(xi, yi, zi)
 
    fig=p.figure()
    ax = p3.Axes3D(fig)
 
 
 
    xi, yi, zi = p3.get_test_data(0.05) 
 
 
    print(xi, yi, zi)
 
    surf = ax.plot_surface(xi, yi, zi, rstride=1, cstride=1, cmap= plt.cm.jet)    
 
    ax.set_xlabel('X')
    #ax.set_xlim(A,C)
    ax.set_ylabel('Y')
    #ax.set_ylim(B,D)
    ax.set_zlabel('Carte de temperature')
    #ax.set_zlim3d(E, F)
 
    #===========================================================================
    # ax.w_zaxis.set_major_locator(LinearLocator(10))
    # ax.w_zaxis.set_major_formatter(FormatStrFormatter('%.03f'))    
    #===========================================================================
 
 
    p.colorbar(surf, shrink=0.8, aspect=10)
 
    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