matplotlib挂接以保存图形按钮事件

matplotlib挂接以保存图形按钮事件,matplotlib,events,button,backend,Matplotlib,Events,Button,Backend,有人知道如何从matplotlib图形中获取“保存图形”按钮事件吗 当按下此按钮时,我需要事件来调用我的一些函数 import matplotlib.pyplot as plt from matplotlib.backend_bases import NavigationToolbar2 save_figure = NavigationToolbar2.save_figure def new_save(self, *args, **kwargs): print( 'save_event'

有人知道如何从matplotlib图形中获取“保存图形”按钮事件吗

当按下此按钮时,我需要事件来调用我的一些函数

import matplotlib.pyplot as plt
from matplotlib.backend_bases import NavigationToolbar2

save_figure = NavigationToolbar2.save_figure

def new_save(self, *args, **kwargs):
  print( 'save_event')
  # save_figure(self, *args, **kwargs)

NavigationToolbar2.save_figure = new_save


fig = plt.figure()
plt.text(0.35, 0.5, 'Hello world!', dict(size=30))
plt.show()

但是,如果我按
save figure
,它不会调用我的函数
new\u save
matplotlib.backend\u base.NavigationToolbar2a
save\u figure
方法。此方法具体在每个后端中实现。例如,对于Qt5Agg后端,这是。因此,您需要对实际使用的后端的相应方法进行修补。 对于Qt5Agg后端,这可能如下所示:

import matplotlib
matplotlib.use("Qt5Agg")
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT

save_figure = NavigationToolbar2QT.save_figure

def new_save(self, *args, **kwargs):
  print('save_event')
  save_figure(self, *args, **kwargs)

NavigationToolbar2QT.save_figure = new_save

fig = plt.figure()
plt.text(0.35, 0.5, 'Hello world!', dict(size=30))
plt.show()

matplotlib.backend\u base.NavigationToolbar2
a
save\u figure
方法。此方法具体在每个后端中实现。例如,对于Qt5Agg后端,这是。因此,您需要对实际使用的后端的相应方法进行修补。 对于Qt5Agg后端,这可能如下所示:

import matplotlib
matplotlib.use("Qt5Agg")
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT

save_figure = NavigationToolbar2QT.save_figure

def new_save(self, *args, **kwargs):
  print('save_event')
  save_figure(self, *args, **kwargs)

NavigationToolbar2QT.save_figure = new_save

fig = plt.figure()
plt.text(0.35, 0.5, 'Hello world!', dict(size=30))
plt.show()