了解Matplotlib / PyQt中的数字,轴和图

时间:2012-07-31 00:05:19

标签: python matplotlib pyqt

帮助我理解在PyQt小部件上放置数字的过程(并且通常使用Matplotlib)。

当我在做自己的小脚本时,我只需plot(stuff)并用show()跟进。

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

所以,你有一个PyQt窗口。您创建一个Canvas Qt对象,并将其填充为matplotlib Fig。然后你给那个图形一对axes,最后你把你想要的所有图形都放在那对轴上?

1 个答案:

答案 0 :(得分:2)

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

基本上,这个过程是:

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

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

HTH,