1

我是 wxpython 的新手,但作为 matplotlib 用户已有一段时间了。我正在开发一个 wxpython 应用程序,我希望在其中有一个带有单个面板的简单框架(实际上是一个 wx.lib.plot.PlotCanvas 实例)。在面板中,我想显示一些数据,这些数据采用二进制数组(称为 imarr)的形式,如下所示:

我要显示的数据示例 数组的形状总是 (64,N),N 可以在大约 400 到 1200 之间变化(我可以自己整理面板尺寸)。

要在 matplotlib 中做到这一点,我会使用类似的东西:

fig=figure(figsize=(12,2))
ax=fig.add_subplot(111)
ax.set_ylim(0,63)
ax.set_xlim(0,imarr.shape[0])
ax.set_aspect('equal')
matplotlib.imshow(imarr)

但我完全迷失在 wxpython 中。我一直在研究 wx.lib.plot,但除了漂亮的线条和标记绘图功能之外,似乎没有与 imshow(或 pcolor)等效的功能。

我拥有的一个(丑陋的)解决方案是使用上面的 matplotlib 创建一个 png 图像,然后使用一些 wx 魔法在面板上显示图像(如果这不容易,请让我直截了当)。

我更喜欢从 wxpython 中进行操作,以实现可移植性和整体整洁。关于如何在 wx.lib.plot.PlotCanvas(或更通用的 wx.Panel)上显示二进制数组的任何建议都会非常有用!

4

1 回答 1

3

为什么不将 wxPython 和 matplotlib 结合在一起呢?wx.lib.plot.PlotCanvas 与 matplotlib 相比功能有限。查看此答案中的示例和 matplotlib 文档中的示例。抱歉,我没有准确回答您的要求,但我认为这是正确的方法。

于 2013-04-09T15:54:09.193 回答