【问题标题】:Understanding Figures, Axes and Plots in Matplotlib/PyQt了解 Matplotlib/PyQt 中的图形、轴和图
【发布时间】:2012-08-03 06:06:35
【问题描述】:

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

当我在编写自己的小脚本时,我只需执行 plot(stuff) 并使用 show() 跟进。

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

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

【问题讨论】:

  • 您能否更具体地说明您想要进行哪种类型的绘图? pyqt 和 matplotlib(以及其他绘图库)的美妙之处在于它们非常灵活——有几种不同的方法可以做大多数事情。我建议在 matplotlib 文档网站 (matplotlib.sourceforge.net/examples/index.html) 上查看大量非常具体的示例。

标签: python matplotlib pyqt


【解决方案1】:

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

本质上,过程是:

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

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

HTH,

【讨论】:

猜你喜欢
  • 2023-03-26
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 2022-12-13
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多