繁体   English   中英

OSX如何将Matplotlib窗口带到前面?

[英]OSX How to bring Matplotlib window to the front?

我正在尝试使用matplotlib进行图表可视化,但每次运行项目时都要查找窗口非常烦人。 有没有办法强迫它在其他窗口之上? 我使用OSX 10.8和PyCharm IDE已经尝试过了

from pylab import get_current_fig_manager()
get_current_fig_manager().window.raise_()

哪个失败了

AttributeError: 'FigureManagerMac' object has no attribute 'window'

我很欣赏任何其他想法。

这对我来说是来自IPython的:

from pylab import get_current_fig_manager
fm = get_current_fig_manager()
fm.show()

但是我没有找到一个show()不能单独工作的情况。

你打电话给window.raise_()来自PyQT。 实际上,您可以通过这种方式提升窗口,但您需要:

  • 在使用matplotlib进行任何其他业务之前,将PyQT4设置为您的后端

import matplotlib
matplotlib.use('Qt4Agg')
  • 您可以修复import语句(删除括号)或保存导入并通过图形访问窗口

window = fig.canvas.manager.window
  • 只有这样你才能调用window.raise_() ,窗口将在pycharm前面。

[cphlewis]有一个很好的答案。 我发现自己这么经常这样做,我确定了一个小功能,将我的所有窗户弹到表面:

def pop_all():
    #bring all the figures hiding in the background to the foreground
    all_figures=[manager.canvas.figure for manager in matplotlib.\
        _pylab_helpers.Gcf.get_all_fig_managers()]
    [fig.canvas.manager.show() for fig in all_figures]
    return len(all_figures)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM