首页 > 解决方案 > 使用键盘关闭 matplotlib 图

问题描述

我在“for”循环内的同一个图中绘制了 2 个图表。问题是,为了保持循环运行,我必须使用鼠标手动关闭图形。这很困难,因为循环超过 300 步长。我正在寻找更简单的解决方案,例如单击数字 1 以关闭当前图形并查看下一个。我尝试使用以下代码,但它不起作用。我相信只有在现有图表关闭后才能读取后续行。如何解决这个问题?

PS:另外,使用raw_input()按键不是一个好方法,因为我必须另外点击“Enter”。所以建议另一种方法,我可以通过连续按 '1' 来关闭图表。

for roww in range (0,height) :
        com = 0
        isignal = matrix[roww]
        fft_ith = np.fft.fft(isignal)
        fft_abs_ith = np.abs(fft_ith)
        c_fft = fft_abs_ith[:len(fft_abs_ith)//2] 
        c_fft[zi] = 0


        plt.subplot(2,1,1)
        plt.plot(time,isignal,marker='.')
        plt.xlim(0,time[len(time)-1])
        plt.title("Individual oscilations  and FFT of each cell \n cell ="+str(roww))
        plt.subplot(2,1,2)
        plt.plot(c_freqq,c_fft,marker = ".")
        plt.show()
comnd = raw_input()
if comnd == 1
        plt.close()


标签: pythonmatplotlib

解决方案


默认情况下,matplotlib 图形可以使用q键关闭。相反,如果您想使用1可以添加的密钥

plt.rcParams["keymap.quit"] = "1"

在脚本顶部的某个地方。

您可以将其设置为plt.rcParams["keymap.quit"] = ['ctrl+w', 'cmd+w', 'q']或任何您喜欢的。


推荐阅读