Python 在绘图中放置矩形

Python 在绘图中放置矩形,python,matplotlib,pyqt,Python,Matplotlib,Pyqt,关于这个问题,我指的是这个例子: 我想用一个不显示坐标系的简单的矩形绘图替换正弦绘图 确切地说,我想更改原始代码的这一部分: 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)

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

我想用一个不显示坐标系的简单的矩形绘图替换正弦绘图

确切地说,我想更改原始代码的这一部分:

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)
我在Matplotlib中找到了矩形类:

这应该是一项简单的任务。但是我自己做了很多尝试却没有成功。我的多次尝试中有一次看起来像:(但不起作用)


谁能帮我一下吗?任何帮助都将不胜感激

您可以使用
add\u patch
矩形添加到
self.axes
。此方法不会自动更改轴的限制。考虑尝试将
矩形
面片放置在何处

class MyStaticMplCanvas(MyMplCanvas):

    """Simple canvas with a rectangle plot."""
    def compute_initial_figure(self):
        x = 10
        y = 20
        width = 10
        height = 20

        rect = mpatches.Rectangle((x, y), width, height)
        self.axes.add_patch(rect)
        # Change limits so we can see rect
        self.axes.set_xlim((0, 50))
        self.axes.set_ylim((0, 50))

非常感谢你!
class MyStaticMplCanvas(MyMplCanvas):

    """Simple canvas with a rectangle plot."""
    def compute_initial_figure(self):
        x = 10
        y = 20
        width = 10
        height = 20

        rect = mpatches.Rectangle((x, y), width, height)
        self.axes.add_patch(rect)
        # Change limits so we can see rect
        self.axes.set_xlim((0, 50))
        self.axes.set_ylim((0, 50))