了解Matplotlib/PyQt中的图形、轴和绘图



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

当我自己编写小脚本时,我只需编写plot(stuff),然后再编写show()

然而,对于较大的应用程序,或者如果我想使用子图,或者同时引发具有不同结果的多个窗口,这显然不够好。我在http://eli.thegreenplace.net/2009/01/20/matplotlib-with-pyqt-guis/,说明了很多。然而,我的想法还没有完全清楚。

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

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

从本质上讲,这个过程是:

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

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

HTH、

最新更新