【问题标题】:How to keep plotting window open in MNE with Python?如何使用 Python 在 MNE 中保持绘图窗口打开?
【发布时间】:2020-07-21 09:07:21
【问题描述】:

MNE 和 Python 中,我希望在调用 def 完全执行后保持交互式绘图窗口打开。

但是,这无法通过以下代码实现:

def get_plot():
    sample_data_folder = mne.datasets.sample.data_path()
    sample_data_raw_file = os.path.join(sample_data_folder, 'MEG', 'sample',
                                        'sample_audvis_raw.fif')
    raw = mne.io.read_raw_fif(sample_data_raw_file)
    raw.plot()

get_plot()

这样,一旦get_plot()完成,绘图窗口就会自动关闭。

另外,我在 Windows 10 上使用PyCharm 2020.1.3。

我可以知道如何处理这个问题吗?

【问题讨论】:

    标签: python mne-python


    【解决方案1】:

    在 PyCharm 中获取交互式绘图。 Show plots in tool window 首先需要禁用。

    禁用设置 |工具 | Python 科学 |在工具中显示图 窗口

    那么,matplotlib.use('TkAgg') 应该允许创建一个interactive plot window

    MNE plot() 基于matplotlib。请参阅源文件plot_raw。基于OPmatplotlib 配备块参数,您可以将其传递给plt.show()。这样即使在函数成功调用后也可以打开绘图。

    显然,mne 组也包含此参数。

    所以,只要设置plot(block=True)就可以达到上述目的

    那么,完整的代码是

    import mne
    import matplotlib
    matplotlib.use('TkAgg')
    
    def get_plot():
        sample_data_folder = mne.datasets.sample.data_path()
        sample_data_raw_file = os.path.join(sample_data_folder, 'MEG', 'sample',
                                            'sample_audvis_raw.fif')
        raw = mne.io.read_raw_fif(sample_data_raw_file)
        raw.plot(block=True)
    
    get_plot()
    

    【讨论】:

      猜你喜欢
      • 2012-09-03
      • 2020-11-08
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 2010-11-03
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      相关资源
      最近更新 更多