Python 2.7 - Matplotlib 导航工具栏 Pan & Zoom



在我的matplotlib图中,我有多个轴。我可以使用导航工具栏平移;缩放每个轴。但我想知道哪个轴被平移或缩放了。如何获得这些信息。此外,如果坐标轴首先缩放然后使用后退按钮恢复,那么它就回到了初始状态所以在这种情况下,我不希望坐标轴info.

简而言之,我想要从初始状态修改的轴的信息?请分享你的看法。

工具栏通过内部堆栈跟踪它的状态,但是我不建议直接访问它。我很确定它被认为是一个非公共api,可以随意破坏。

相反,当您构建图形时,抓住轴的xlimylim。之后你可以循环fig.axes并检查你的self

lim_dict = dict()
for ax in fig.axes:
    lim_dict[ax] = (ax.get_xlim(), ax.get_ylim())
def ax_changed(ax):
    old_xlim, old_ylim = lim_dict[ax]
    return np.all(old_xlim == ax.get_xlim()) and np.all(old_ylim == ax.get_ylim())
changed_axes = [ax for ax in figs.axes if ax_changed(ax)]
not_changed_axes = [ax for ax in figs.axes if not ax_changed(ax)]

相关内容

  • 没有找到相关文章

最新更新