如何使用 Python 在 MNE 中继续绘制 window?

How to keep plotting window open in MNE with Python?

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

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

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() 完成,地块 window 就会自动关闭。

此外,我在 Windows 10 和 PyCharm 2020.1.3.

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

获取PyCharm中的互动剧情。 Show plots in tool window首先需要禁用。

Disable Settings | Tools | Python Scientific | Show plots in tool window

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

MNE plot() 基于 matplotlib。参见源文件 plot_raw. Based from the OPmatplotlib 配备可以传递给 plt.show() 的块参数。这允许在函数成功调用后打开绘图。

貌似mne组也包含了这个参数

所以,上面的objective只要设置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()