4

帮助我了解在 PyQt 小部件上放置图形的过程(以及一般使用 Matplotlib)。

当我在编写自己的小脚本时,我只是简单地执行plot(stuff)并使用show().

然而,这对于较大的应用程序显然不够好,或者如果我想使用子图,或者同时提高多个具有不同结果的窗口。我在http://eli.thegreenplace.net/2009/01/20/matplotlib-with-pyqt-guis/找到了一个非常好的教程,它说明了很多。但是,我的脑海中仍然没有完全清晰的想法。

所以,你有一个 PyQt 窗口。您制作了一个CanvasQt 对象,并将其填充为 matplotlib Fig。然后你给那个图形一对axes,最后你把你想要的所有图都钉在这对轴上?

4

1 回答 1

2

这里有一个有用的页面,它提供了 matplotlib 中的类的概述。

本质上,该过程是:

  • 创建一个可以容纳 Axes 实例(和其他艺术家)的图形
  • 为图形创建一个画布以将其自身绘制到
  • 创建一个Axes 实例 ax,可以向其中添加绘图线/补丁等。例如ax.plot(range(10))ax.contourf(array)

我认为您的困惑来自对 Axes 的理解。它是“包含基本元素的矩形区域”(对于直线图)。默认情况下,无论您运行多少次命令plt.plot(range(10)),图中都只有一个 Axes,尽管您可能决定在图中使用plt.subplot子图,在这种情况下,您的图中将有许多 Axes 实例。

高温下,

于 2012-08-02T22:06:35.200 回答