Insérer le graphe 3D matplotlib dans un canvas et dans un layout
rasielblas
Messages postés
135
Date d'inscription
Statut
Membre
Dernière intervention
-
rasielblas Messages postés 135 Date d'inscription Statut Membre Dernière intervention -
rasielblas Messages postés 135 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un code qui permet d'afficher un graphe 3d en matplotlib est mon code marche très bien, est lorsque je défile le graphe avec le souris l'image 3D change bien de position:
comme montre le figure ci-dessous:


Mais lorsque je met l'image 3D dans un canvas et lorsque je charge le canvas dans un layout alors l'image 3d s'affiche mais lorsque je le position avec le souris alors l'image reste statique, sa position ne change plus, le souris ne peut plus changer la position de l'image, alors je demande votre aide, je ne sais pas ce qui manque dans mon code:
J'ai beau chercher partout mais sans succès et votre demande votre aide s'il vous plait. Merci!
J'ai un code qui permet d'afficher un graphe 3d en matplotlib est mon code marche très bien, est lorsque je défile le graphe avec le souris l'image 3D change bien de position:
from PyQt5.QtWidgets import QApplication, QMainWindow import sys from PyQt5.QtWidgets import * from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D class Fenetre(QMainWindow): def __init__(self): super(Fenetre, self).__init__() self.setWindowTitle("Mon fenetre") self.resize(500,500) self.test() def test(self): fig = plt.figure() ax = fig.add_subplot(111, projection='3d') plt.show() app=QApplication.instance() if not app: app=QApplication(sys.argv) fenetre=Fenetre() fenetre.show() app.exec_()
comme montre le figure ci-dessous:


Mais lorsque je met l'image 3D dans un canvas et lorsque je charge le canvas dans un layout alors l'image 3d s'affiche mais lorsque je le position avec le souris alors l'image reste statique, sa position ne change plus, le souris ne peut plus changer la position de l'image, alors je demande votre aide, je ne sais pas ce qui manque dans mon code:
import sys from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure from PyQt5.QtWidgets import * from mpl_toolkits.mplot3d import Axes3D from matplotlib import pyplot as plt class Fenetre(QMainWindow): def __init__(self): super(Fenetre, self).__init__() self.setWindowTitle("Mon fenetre") self.resize(500,500) self.test() centralWidget=QWidget() layout=QVBoxLayout() layout.addWidget(self.canvas) centralWidget.setLayout(layout) self.setCentralWidget(centralWidget) def test(self): self.canvas=Graph() self.show() class Graph(FigureCanvas): def __init__(self): fig = plt.figure() ax = fig.add_subplot(111, projection='3d') FigureCanvas.__init__(self,fig) app=QApplication.instance() if not app: app=QApplication(sys.argv) fenetre=Fenetre() fenetre.show() app.exec_()
J'ai beau chercher partout mais sans succès et votre demande votre aide s'il vous plait. Merci!
A voir également:
- Insérer le graphe 3D matplotlib dans un canvas et dans un layout
- Insérer vidéo dans powerpoint - Guide
- Insérer un espace insécable dans word - Guide
- Insérer un tableau dans word - Guide
- Insérer un sommaire dans word - Guide
- Comment insérer un filigrane dans word - Guide