2016-08-19 3 views
1

fand ich eine Website scikit-rfeinbetten ein Grundstück in GUI

http://scikit-rf.readthedocs.io/en/latest/tutorials/plotting.html

Es kann smith Plot erstellen, indem Sie folgenden Code

ntwk = rf.Network("my data path") 
ntwk.plot_s_smith() 

Dann will ich es meine Python gui einzubetten.

import sys 
from PyQt4 import QtGui,QtCore 
import matplotlib 
import matplotlib.figure 
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas 
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar 
import skrf as rf 
import numpy as np 
class PrettyWidget(QtGui.QMainWindow): 

    def __init__(self): 
     super(PrettyWidget, self).__init__() 
     self.setGeometry(100,100,1200,700) 
     self.center() 
     self.setWindowTitle('NRW') 



     self.initUI() 

    def initUI(self): 

     grid = QtGui.QGridLayout() 
     self.setLayout(grid) 
     self.figure = matplotlib.figure.Figure() 
     self.canvas = FigureCanvas(self.figure) 
     self.toolbar = NavigationToolbar(self.canvas, self) 
     grid.addWidget(self.canvas, 3,0,2,12) 

    def plot1(self): 

     self.figure.clf() 
     self.figure.tight_layout() 
     self.canvas.draw() 



if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    app.aboutToQuit.connect(app.deleteLater) 
    GUI = PrettyWidget() 
    GUI.show() 
    app.exec_() 

Aber ich habe keine Ahnung, wie Code unten

ntwk = rf.Network("my data path") 
ntwk.plot_s_smith() 

Würde mich setzen oder zu modifizieren jemand sagen, wenn Sie irgendwelche iedas haben? Vielen Dank!

Antwort

1

Network.plot_s_smith hat ein ax Schlüsselwort auf vorhandenen Achsen Objekt zu plotten. So können Sie Ihre Plotfunktion wie folgt ändern:

def plot1(self): 

    self.figure.clf() 
    ntwk = rf.Network("my data path") 
    ntwk.plot_s_smith(ax=self.figure.gca()) 
    self.figure.tight_layout() 
    self.canvas.draw() 
+0

Vielen Dank! Ich kann jetzt mein Ergebnis zeigen! By the way self.figure.tight_layout() wird entfernt oder es wird ein Fehler angezeigt. – radiosan

+0

Wahrscheinlich, weil es an dieser Stelle noch keine Achsen gibt. Sie können es nach 'plot_s_smith' verschieben. –

+0

Ja! Du hast recht. Danke noch einmal! – radiosan

Verwandte Themen