Figure-Objekt in Qt Interface anzeigen lassen
Verfasst: Dienstag 16. Dezember 2014, 09:12
Hi,
Da ich schon seit mehr als einem Tag an einem ungelösten Problem sitze, dachte ich, es wäre mal wieder Zeit mich ans Forum zu wenden. Ich möchte ein Figure-Objekt in meiner GUI verwendenden. Ich verwende den Qt Designer. Die Funktion (die auch funktioniert), die das Figure-Objekt erzeugt lautet:
Wie kann ich das in ein MplWidget integrieren. Mein Ansatz war:
Kann mir jemand erklären, wie man diese mplwidgets verwendet?
Da ich schon seit mehr als einem Tag an einem ungelösten Problem sitze, dachte ich, es wäre mal wieder Zeit mich ans Forum zu wenden. Ich möchte ein Figure-Objekt in meiner GUI verwendenden. Ich verwende den Qt Designer. Die Funktion (die auch funktioniert), die das Figure-Objekt erzeugt lautet:
Code: Alles auswählen
#file name: plots.py
#Es werden einfach die Koordinaten der Daten eingegeben (x,y,z) und der Plot wird erzeugt.
def color_plot(x,y,z,x_label="x",y_label="y",z_label="z"):
f=Figure()
a=f.add_subplot(111)
x_color=a.pcolormesh(x,y,z.T)
f.colorbar(x_color,orientation="vertical",label=z_label)
a.set_xlabel(x_label)
a.set_ylabel(y_label)
return f
Code: Alles auswählen
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.uic import *
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import plots
def main():
application = QApplication(sys.argv)
frame = loadUi('inter.ui')
def load_data():
x=[....some_data....]
y=[.....]
z=[....]
f=plots.color_plot(x,y,z)
#Das hier war meine Idee, die allerdings nicht funktioniert. Es wird zwar keine Fehlermeldung angezeigt, allerdings gibt es kein Output
f=plots.color_plot(x,y,z1)
mw=frame.mplwidget
mw.fig=f
mw.draw()
frame.pushButton_2.clicked.connect(load_data)
frame.show()
sys.exit(application.exec_())
if __name__ == '__main__':
main()