IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

probleme affichage de courbe


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 7
    Par défaut probleme affichage de courbe
    Bonjour à tous !
    J'écris un code pour afficher une régression linéaire, mais un message d'erreur étrange apparait lors de l'affichage d'une courbe alors que les autres s'affichent très bien.
    Voici le passage en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    # -*- coding: utf-8 -*-
     
    #importation des bibliothèques et fonctions nécessaires:
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy import stats
    from math import pi, cos
     
    #déclaration des valeurs experimentales et des incertitudes:
    theta=np.array([90,80,70,60,50,40,30,20,10])
    for i in range (len(theta)):
        theta[i]=((cos((theta[i]*pi)/180))**2)*15
    I_blanc=np.array([0,0,0.4,1.3,2.5,3.8,5.0,6.2,6.9])
    err_I=[0.5]*10
    err_theta=[0]*10
     
    #affichage du coefficient directeur et de l'ordonnée à l'origine
    #des régressions linéaires pour les différentes valeurs:
    pente_b,ordonnee_b,r_b,p_b,d_b=stats.linregress(theta,I_blanc)
    print ("I_blanc :",pente_b,'x+',ordonnee_b)
    print ('coefficient de correlation R^2',r_b**2,"\n")
     
    def linereg (X,a,b):
        """arguments: un tableau de valeur + un coefficient directeur + une ordonnée a l'origine
        retourne "Y=a.X+b" """
        return (a*X+b)
     
    #on presente les 3 courbes l'une sous l'autre:
    plt.subplot(3,1,1)
     
    X=np.linspace(theta[0],theta[-1],100)
    Y_b=linereg(X,pente_b,ordonnee_b)
     
    plt.figure(1)
    plt.plot(theta,I_blanc,'bo')
    plt.plot(X,Y_b,'--',label=r'$Régression linéaire$')
    plt.errorbar(theta,I_blanc,err_theta,err_I,fmt=u'+')
    plt.xlabel=(r'$cos(theta)^2$')
    plt.ylabel=(r'$I_(blanc)$')
    plt.legend(loc=4)
    plt.grid()
    plt.axis([0,15,0,8])
    plt.title("sans filtre")
    plt.show()
    J'ai enlvé une partie qui correspond aux autres valeurs mais le probleme est le meme pour les 3: le code se déroule bien jusqu'a la ligne "plt.plot(X,Y_b,'--',label=r'$Régression linéaire$')" ou un message d'erreur s'affiche dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    >>> plt.plot(X,Y_r,'--',label=r'$Régression linéaire$')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 3099, in plot
        ret = ax.plot(*args, **kwargs)
      File "C:\Python27\lib\site-packages\matplotlib\axes\_axes.py", line 1373, in plot
        for line in self._get_lines(*args, **kwargs):
      File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py", line 304, in _grab_next_args
        for seg in self._plot_args(remaining, kwargs):
      File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py", line 292, in _plot_args
        seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs)
      File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py", line 244, in _makeline
        self.set_lineprops(seg, **kwargs)
      File "C:\Python27\lib\site-packages\matplotlib\axes\_base.py", line 186, in set_lineprops
        func(val)
      File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 777, in set_label
        self._label = '%s' % (s, )
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 2: ordinal not in range(128)
    >>>
    J'ai d'abord trouvé sur internet qu'il manquait la premiere ligne de mon code ,ie "# -*- coding: utf-8 -*-" je l'ai alors rajoutée mais toujours rien, de meme les lignes plt.xlabel et ylabel ainsi que errorbar et legend ne semblent pas fonctionner.

    Auriez-vous une idée des corrections à apporter a mon code ?
    Merci d'avance !

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2014
    Messages : 25
    Par défaut
    Bonjour,

    Oui commence par enlever les accents car tu as une erreur d'encodage
    .

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Ce n'est pas un 'r' qui doit précéder le texte mais un 'u'.

    D'ailleurs tu l'as fait dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    plt.errorbar(theta,I_blanc,err_theta,err_I,fmt=u'+')

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement informatique scientifique
    Inscrit en
    Janvier 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement informatique scientifique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 10

Discussions similaires

  1. Probleme d'affichage de courbe
    Par cedre22 dans le forum Langage
    Réponses: 12
    Dernier message: 21/02/2006, 13h11
  2. Probleme affichage de mon site
    Par Braq dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 10/08/2005, 14h08
  3. problem affichage avec HTML::TableExtract
    Par rootdaoud dans le forum Web
    Réponses: 2
    Dernier message: 04/07/2005, 19h35
  4. Probleme affichage noir quand Build/Compile
    Par balabi dans le forum MFC
    Réponses: 3
    Dernier message: 01/06/2005, 16h12
  5. Probleme affichage dans tableau selon requête
    Par moulette85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/03/2005, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo