matplotlib 使用多线程绘图不显示图像

我是在pyqt5中调用matplotlib绘图,ui是转换成py文件导入的,qt代码如下

class MainWin(QWidget, Ui_Dialog):
    def __init__(self, name='MainWindow'):
        super(MainWin, self).__init__()
        self.setupUi(self)
        self.setWindowTitle(name)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWin('mat')
    win.show()
    sys.exit(app.exec_())

mat代码如下

class MyMplCanvas(FigureCanvas):

    def __init__(self, parent=None, width=1, height=1, dpi=100):
        self.fig = Figure(figsize=(width, height), dpi=dpi)
        #
        super(MyMplCanvas, self).__init__(self.fig)
        self.axes = self.fig.add_axes([0.1, 0.1, 0.7, 0.9])
        self.axes.cla()
        self.compute_initial_figure()
        #
        # FigureCanvas.__init__(self, self.fig)
        self.setParent(parent)
        FigureCanvas.setSizePolicy(self, QSizePolicy.Expanding, QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self)

        def compute_initial_figure():
            pass


class testmat(MyMplCanvas):
    def compute_initial_figure(self, df=None):
        x = np.linspace(0, 10, 50)
        y = x + 1
        self.axes.plot(x, y, 'r-.*', lw=1, ms=5)

然后我在qt代码下加入函数,导入多线程

        p = threading.Thread(target=self.vvv)
        p.start()
    def vvv(self):
        dc = testmat()
        vlay = QtWidgets.QVBoxLayout()
        self.widget.setLayout(vlay)
        vlay.addWidget(dc)

就无法使用了,加入join的话无法显示窗口,不加入就显示窗口不显示图像,正常调用能显示