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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : février 2019
    Messages : 32
    Points : 19
    Points
    19

    Par défaut Afficher l'équation d'une droite sur un graphique Matplotlib

    Bonjour à tous,

    j'ai une question très simple...
    J'ai réussi à faire le programme suivant portant sur la loi d'Ohm:
    - L'utilisateur entre des valeurs de tension U et d'intensité I.
    - Le graphique donnant la tension en fonction de l'intensité s'affiche sur l'écran en utilisant Matplotlib.
    - Les points n'étant pas forcément parfaitement alignés, j'ai utilisé la méthode des moindres carrés pour déterminer les coefficients "a" et "b" correspondant à la régression linéaire de l'ensemble de mes points.

    Tout fonctionne.

    - Je souhaite seulement rajouter l'équation de la droite obtenue en haut à droite sur le graphique Matplotlib, sachant donc, que "a" et "b" sont donc des variables numériques correspondant aux coefficients de régression.

    - Si j'étais dans le Terminal Python, j'aurai écrit pour cela : print("U=",a,"*I+",b).

    - Avec Matplotlib, j'ai essayé: plt.text("U=",a,"*I+",b) mais cela ne fonctionne pas.

    Faut-il utiliser autre chose que plt.text ou s'agit-il d'un problème de syntaxe et comment le corriger ? Merci. J'utilise Python 3.0

  2. #2
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    13 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 13 215
    Points : 22 122
    Points
    22 122

    Par défaut

    Salut,

    Citation Envoyé par Olivier20000 Voir le message
    - Avec Matplotlib, j'ai essayé: plt.text("U=",a,"*I+",b) mais cela ne fonctionne pas.

    Faut-il utiliser autre chose que plt.text ou s'agit-il d'un problème de syntaxe et comment le corriger ? Merci. J'utilise Python 3.0
    Çà ne fonctionne pas et le message d'erreur devrait vous indiquer qu'il manque des arguments.
    Dans ce cas, il faut prendre le temps d'ouvrir la documentation de matplotlib.text pour voir ce qu'ils sont et éventuellement regarder dans les exemples comment çà s'utilise.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : février 2019
    Messages : 32
    Points : 19
    Points
    19

    Par défaut

    Bonjour,

    Merci pour votre aide.
    J'ai bien compris que pour utiliser la fonction text il fallait 3 arguments, les 2 premiers étant les coordonnées de la position du texte sur le graphique.
    Par contre, sur tous les exemples de la documentation comportant l'affichage d'un texte sur Matplotlib, je n'ai ai pas vu avec l'affichage de valeurs de variables.
    J'ai donc cherché sur internet et j'ai donc trouvé cette méthode qui me convient:

    plt.text(x,y, "La valeur de la résistance est: {} Ohm.".format(a)) a étant la valeur de la résistance, donc la variable, à afficher.


    Cordialement,


    Citation Envoyé par wiztricks Voir le message
    Salut,



    Çà ne fonctionne pas et le message d'erreur devrait vous indiquer qu'il manque des arguments.
    Dans ce cas, il faut prendre le temps d'ouvrir la documentation de matplotlib.text pour voir ce qu'ils sont et éventuellement regarder dans les exemples comment çà s'utilise.

    - W

  4. #4
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    13 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 13 215
    Points : 22 122
    Points
    22 122

    Par défaut

    Salut,

    Citation Envoyé par Olivier20000 Voir le message
    Par contre, sur tous les exemples de la documentation comportant l'affichage d'un texte sur Matplotlib, je n'ai ai pas vu avec l'affichage de valeurs de variables.
    J'ai donc cherché sur internet et j'ai donc trouvé cette méthode qui me convient:
    plt.text(x,y, "La valeur de la résistance est: {} Ohm.".format(a)) a étant la valeur de la résistance, donc la variable, à afficher.
    Le chaînes de caractères (et comment les formater, concaténer,...) sont des objets de bases du langage.
    On peut supposer que vous les avez acquis avant de vous lancer à programmer avec matplotlib.

    Après il faut lire les exemples, dans le premier, on y trouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            label = r'$%s_{_{\mathrm{%s}}}$' % (orig_label[0], orig_label[1:])
     
            plt.text(x, y, label, size=label_text_size, ha='center', va='center',
                     color=labelcolor or fc)
    mais si vous ne savez pas ce que vous cherchez, vous pouvez passer devant 500 fois sans le voir.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [XL-2013] Tracer une droite sur un graphique
    Par backx3 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/06/2016, 12h54
  2. [SQL] Afficher le résultat d'une table sur 2 colonnes ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/06/2007, 09h58
  3. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  4. Afficher un bouton appartenant à une classe sur une form
    Par Julien_riquelme dans le forum Composants VCL
    Réponses: 2
    Dernier message: 05/09/2005, 13h10

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