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

Python Discussion :

comment peut le faire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    Septembre 2016
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2016
    Messages : 152
    Par défaut comment peut le faire
    par python et en matplotlib comment calculer la distance entre deux cliques et afficher cette distance comme la photo ci-dessous
    Nom : téléchargement.png
Affichages : 141
Taille : 8,7 Ko

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    Il faut commencer par décomposer çà en une suite d'opération comme récupérer la position des clicks (via l'event handling), trouver les points les plus proches, calculer la distance, annoter la figure,...
    Puis on réalise chaque opération en regardant la documentation ou en trouvant des exemples sur Internet.
    Enfin on essaie de les composer pour finaliser le tout.

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

  3. #3
    Membre confirmé
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    Septembre 2016
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2016
    Messages : 152
    Par défaut
    Pouvez-vous donner un exemple

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Il suffit de chercher avec le nouveau mot clé qui vous a été donné. Et en moins d'une minute je tombe sur un exemple qui fait déjà une bonne partie de ce que vous voulez faire :

    https://matplotlib.org/users/event_handling.html

    (à savoir le 2ieme bout de code sur cette page)

  5. #5
    Membre confirmé
    Homme Profil pro
    ngénieur d'etat en science géodésique et travaux topographique
    Inscrit en
    Septembre 2016
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : ngénieur d'etat en science géodésique et travaux topographique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2016
    Messages : 152
    Par défaut
    pouvez-vous corriger le code

    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
    from PyQt4.QtCore import *
    from PyQt4.QtGui import *
    import matplotlib.pyplot as plt
    class main(QWidget):
      def __init__(self):
            QWidget.__init__(self)
            self.setupUi(self)
            self.figure = plt.figure(figsize=(50,50))
            self.canvas = FigureCanvas(self.figure)
            self.toolbar = NavigationToolbar(self.canvas, self)
            cid = self.figure.canvas.mpl_connect('button_press_event', self.onclick)
     
      def onclick(self,event):
               if event.button == 1:
                 global x,y
                 x = event.xdata
                 y = event.ydata
                 self.linepoints = np.append(self.linepoints, x)
                 self.linepoints = np.append(self.linepoints, y)
     
               if np.size(self.linepoints) == 4:
                     plt.plot((self.linepoints[0], self.linepoints[2]), (self.linepoints[1], self.linepoints[3]), '--')
                     self.figure,  ax = plt.subplots()
                     self.linepoints = np.array([])
                     self.show_plot()
     
      def show_plot(self):
        self.figure.clear()
        ax = self.figure.add_subplot(111)
        self.canvas.draw()
     
     
    import sys
    app = QApplication(sys.argv)
    window=QWidget()
    window.resize(500,500)
    window.show()
    app.exec_()

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    Citation Envoyé par rabeh.ram Voir le message
    pouvez-vous corriger le code
    Qt4 n'est plus supporté.

    Regardez l'exemple mentionné, vous y verrez que matplotlib a bien évolué pour pouvoir coder ce genre d'opération sans plus trop se soucier du backend.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/08/2012, 09h01
  2. Réponses: 3
    Dernier message: 19/11/2009, 11h36
  3. Réponses: 1
    Dernier message: 28/06/2007, 12h23
  4. Réponses: 2
    Dernier message: 28/12/2006, 18h43

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