Python matplotlit+;PyQt5:替换画布

Python matplotlit+;PyQt5:替换画布,python,matplotlib,pyqt,Python,Matplotlib,Pyqt,关于这个问题,我指的是: 链接1: 确切地说,我指的是上面链接中的这一部分: class MyStaticMplCanvas(MyMplCanvas): """Simple canvas with a sine plot.""" def compute_initial_figure(self): t = arange(0.0, 3.0, 0.01) s = sin(2*pi*t) self.axes.plot(t, s) 我想将

关于这个问题,我指的是:

链接1:

确切地说,我指的是上面链接中的这一部分:

class MyStaticMplCanvas(MyMplCanvas):
    """Simple canvas with a sine plot."""

    def compute_initial_figure(self):
        t = arange(0.0, 3.0, 0.01)
        s = sin(2*pi*t)
        self.axes.plot(t, s)
我想将上面的画布更改为此画布:

链接2:

我是
matplotlib
的新手。虽然我试了很多,但还是不行。因此,我想问是否有人可以进行替换,我可以理解matplotlib是如何工作的


谢谢你的帮助

还不完全清楚你想要实现什么。也许最好发布一个(这里的关键字是最小的),而不是试图修改示例中的代码,这可能过于复杂

在任何情况下,要将原始图形使用的正弦波替换为图形的十字,都需要将对
图形
对象的引用存储在基本画布
\uuuu init\uu
函数中

import matplotlib.lines as lines

class MyMplCanvas(FigureCanvas):
    """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.)."""

    def __init__(self, parent=None, width=5, height=4, dpi=100):
        self.fig = Figure(figsize=(width, height), dpi=dpi)  # <------
        # replace all references to fig by self.fig in the rest of the code
class MyStaticMplCanvas(MyMplCanvas):
    """Simple canvas with a sine plot."""

    def compute_initial_figure(self):
        l1 = lines.Line2D([0, 1], [0, 1], transform=self.fig.transFigure, figure=self.fig)
        l2 = lines.Line2D([0, 1], [1, 0], transform=self.fig.transFigure, figure=self.fig)
        self.fig.lines.extend([l1, l2])