图尺寸& Matplotlib放大后的位置

时间:2014-08-17 16:46:12

标签: python-2.7 matplotlib wxpython zoom magnification

我在wxPython面板中有一个matplotlib图像绘图,我使用原生matplotlib工具栏缩放放大。

放大后我想知道结果图像的大小,以便我可以计算放大率。

此外,我想知道放大图像相对于原始图像的位置/尺寸,以便我可以在以后再次重新绘制它。

我不知道如何处理这个问题。我查看了canvasfigure的文档,但没有找到任何可以帮助我确定所需数据的内容。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

您可能需要阅读matplotlib doc中的以下内容:

但是,特别是转换教程可能需要一段时间才能完成。转换系统非常高效和完整,但您可能需要一段时间才能弄清楚您需要的是什么。

但是在您的情况下,以下代码段可能就足够了:

from matplotlib import pyplot as plt
import numpy

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(numpy.random.rand(10))

def ondraw(event):
    # print 'ondraw', event
    # these ax.limits can be stored and reused as-is for set_xlim/set_ylim later
    print ax.get_xlim(), ax.get_ylim()

cid = fig.canvas.mpl_connect('draw_event', ondraw)

plt.show()

在绘制事件中,您可以获得轴限制,计算缩放等等,并可以在以后使用它将轴设置为所需的缩放级别。