]> SALOME platform Git repositories - tools/eficas.git/blob - Aster/Cata/cataSTA8/Macro/reca_graphique.py
Salome HOME
Modif V6_4_°
[tools/eficas.git] / Aster / Cata / cataSTA8 / Macro / reca_graphique.py
1 #@ MODIF reca_graphique Macro  DATE 08/11/2005   AUTEUR ASSIRE A.ASSIRE 
2 # -*- coding: iso-8859-1 -*-
3 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
9 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
10 #                                                                       
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15 #                                                                       
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
19 # ======================================================================
20
21 import string, copy, Numeric, types
22 import Cata
23 from Cata.cata import DEFI_FICHIER, IMPR_FONCTION
24 from Utilitai.Utmess import UTMESS
25 from Accas import _F
26
27 try:
28   import Gnuplot
29 except:
30   pass
31
32
33 #_____________________________________________
34 #
35 # IMPRESSIONS GRAPHIQUES
36 #_____________________________________________
37
38 def graphique(FORMAT, L_F, res_exp, reponses, iter, UL_out, interactif):
39
40    if FORMAT=='XMGRACE':
41        for i in range(len(L_F)):
42            _tmp = []
43            courbe1 = res_exp[i]
44            _tmp.append( { 'ABSCISSE': courbe1[:,0].tolist(), 'ORDONNEE': courbe1[:,1].tolist(), 'COULEUR': 1 } )
45            courbe2 = L_F[i]
46            _tmp.append( { 'ABSCISSE': courbe2[:,0].tolist(), 'ORDONNEE': courbe2[:,1].tolist(), 'COULEUR': 2 } )
47
48            motscle2= {'COURBE': _tmp }
49            if interactif: motscle2['PILOTE']= 'INTERACTIF'
50            else:          motscle2['PILOTE']= 'POSTSCRIPT'
51
52 #           DEFI_FICHIER(UNITE=int(UL_out), ACCES='NEW',)
53
54            IMPR_FONCTION(FORMAT='XMGRACE',
55                          UNITE=int(UL_out),
56                          TITRE='Courbe de : ' + reponses[i][0],
57                          SOUS_TITRE='Iteration : ' + str(iter),
58                          LEGENDE_X=reponses[i][1],
59                          LEGENDE_Y=reponses[i][2],
60                          **motscle2
61                          );
62 #           DEFI_FICHIER(ACTION='LIBERER',UNITE=int(UL_out),)
63
64    elif FORMAT=='GNUPLOT':
65        graphe=[]
66        impr=Gnuplot.Gnuplot()
67        Gnuplot.GnuplotOpts.prefer_inline_data=1
68        impr('set data style linespoints')
69        impr('set grid')
70        impr('set pointsize 2.')
71        impr('set terminal postscript color')
72        impr('set output "fort.'+str(UL_out)+'"')
73
74        for i in range(len(L_F)):
75              if interactif:
76                 graphe.append(Gnuplot.Gnuplot(persist=0))
77                 graphe[i]('set data style linespoints')
78                 graphe[i]('set grid')
79                 graphe[i]('set pointsize 2.')
80                 graphe[i].xlabel(reponses[i][1])
81                 graphe[i].ylabel(reponses[i][2])
82                 graphe[i].title(reponses[i][0]+'  Iteration '+str(iter))
83                 graphe[i].plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental'))
84                 graphe[i]('pause 5')
85
86              impr.xlabel(reponses[i][1])
87              impr.ylabel(reponses[i][2])
88              impr.title(reponses[i][0]+'  Iteration '+str(iter))
89              impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental'))
90
91    else:
92      pass