Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将绘图嵌入GUI_Python_Pyqt4 - Fatal编程技术网

Python 将绘图嵌入GUI

Python 将绘图嵌入GUI,python,pyqt4,Python,Pyqt4,我发现了一个网站 它可以通过以下代码创建smith绘图 ntwk = rf.Network("my data path") ntwk.plot_s_smith() 然后我想把它嵌入到我的python gui中 import sys from PyQt4 import QtGui,QtCore import matplotlib import matplotlib.figure from matplotlib.backends.backend_qt4agg import FigureCanva

我发现了一个网站

它可以通过以下代码创建smith绘图

ntwk = rf.Network("my data path")
ntwk.plot_s_smith()
然后我想把它嵌入到我的python gui中

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_()
但我不知道如何放置或修改下面的代码

ntwk = rf.Network("my data path")
ntwk.plot_s_smith() 
有人能告诉我你有没有IEDA吗?谢谢

有一个
ax
关键字用于在现有轴对象上打印。因此,您可以按如下方式修改打印函数:

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()

谢谢我现在可以显示我的结果了!顺便说一下,self.figure.tight_layout()已被删除,否则将显示错误。可能是因为此时还没有轴。您可以在绘图后移动它。