2017-08-26 5 views
-1

BackGroundComment créer une zone de texte créée par l'utilisateur au-dessus de la figure matplotlib?

Je fais ce logiciel de bonnes données terrain et que boxplots diagrammes de dispersion. Pour rendre le graphique plus informatif et clair, je voulais que l'utilisateur puisse glisser-créer une zone de texte au-dessus de la figure s'il voulait ajouter des notes. De cette façon, lorsque les gens partagent le chiffre, cela peut être expliqué à travers ces notes.

approche actuelle et problème

J'ai utilisé la fonction annoter pour créer une zone de texte dans le coin supérieur droit de l'écran pour indiquer à l'utilisateur le nombre de points de données ont été utilisées, mais il y a de quelques problèmes avec cette approche.

C'est le code que j'ai utilisé pour créer une zone de texte pour indiquer à l'utilisateur combien de pts de données il y a.

self.axes.text(.98, .98, 'Number of Data Points: {}'.format(len(self.cleanedY)), 
        verticalalignment='top', horizontalalignment='right', 
        transform=self.axes.transAxes, 
        color='black', fontsize=9.5) 
  1. entrée vaste qui devrait être posée à l'utilisateur. Cela inclut les coordonnées de position, la zone de texte réelle, le type d'alignement. La seule façon dont je sais comment collecter cette information serait de créer une fenêtre Qdialog demandant toutes ces entrées, ce qui serait trop lourd.
  2. L'utilisateur n'a pas beaucoup de contrôle sur la possibilité de positionner librement la zone de texte et devrait connaître des décimales exactes pour positionner la zone de texte sur la figure.

Ceci est incroyablement inefficace et inflexible. Je veux un moyen pour l'utilisateur de créer facilement ces notes sur la figure de l'intrigue.

TLDR: Existe-t-il un moyen de développer une simple option de glisser-déposer et de créer une zone de texte sur une figure de tracé?

+0

La question elle-même est beaucoup trop large. Expliquez clairement ce que vous essayez d'accomplir et ce qui vous empêche de l'atteindre. Il pourrait également s'agir d'une copie de [cette question] (https://stackoverflow.com/questions/43973758/how-do-i-make-matplotlib-open-a-box-for-user-comments). – ImportanceOfBeingErnest

+0

En utilisant tkinter j'utilise pyqt et ils font la méthode exacte que j'essaie d'éviter. À l'aide d'une fenêtre contextuelle distincte pour inviter l'utilisateur à entrer. Je veux plutôt que l'utilisateur puisse cliquer sur le bouton gauche de la souris et faire glisser une zone de texte similaire à Microsoft Word. –

+0

Souhaitez-vous que l'utilisateur tape quoi que ce soit ou pas? Il semble que la question soit non seulement trop large mais aussi peu claire. – ImportanceOfBeingErnest

Répondre