在Matplotlib/PyQt中理解图形、坐标轴和绘图。

4
帮我理解在PyQt小部件上放置图形并使用Matplotlib的过程。
当我编写自己的脚本时,我只需执行“plot(stuff)”并跟随“show()”。
然而,这显然不足以应对更大的应用程序,或者如果我想使用子图,或者同时提高具有不同结果的多个窗口。 我在http://eli.thegreenplace.net/2009/01/20/matplotlib-with-pyqt-guis/找到了一个非常好的教程,其中有很多插图。然而,我仍然没有完全清楚这些想法。
所以,您有一个PyQt窗口。 您可以创建一个Canvas Qt对象,并在其中填充matplotlib Fig。 然后,您为该图给出一对轴,最后将所有要绘制的图都添加到该轴对上?

1
你能否稍微具体说明你希望进行什么类型的绘图呢?Pyqt和Matplotlib(以及其他绘图库)的美妙之处在于它们非常灵活 - 大多数事情都有几种不同的方法可以实现。我建议查看Matplotlib文档网站上数量众多的具体示例(http://matplotlib.sourceforge.net/examples/index.html)。 - Victoria Price
1个回答

2

这里有一个有用的页面(点击此处),其中提供了 matplotlib 中各个类的概述。

基本过程如下:

  • 创建一个可以容纳 Axes 实例(和其他 artist)的 figure
  • 为 figure 创建一个画布
  • 创建 一个 Axes 实例 ax,将线条/补丁等绘制在其上。例如,ax.plot(range(10))ax.contourf(array)

我认为你的困惑在于对 Axes 的理解。在“直角坐标图”的情况下,它是“容纳基本元素的矩形区域”。默认情况下,在一个 figure 中只有一个 Axes,无论您运行多少次命令 plt.plot(range(10)),但您可以使用 plt.subplot 在图中设置子图,这样您就会在 figure 中拥有多个 Axes 实例。

希望能有所帮助,


链接已失效。抱歉。 - Sigur
快速谷歌搜索显示,现在可以在https://github.com/ericliang/matplotlib/blob/master/trunk/scipy06/oo_resources/leftwich_tut.txt上查看相同的页面。 - pelson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接