我一直在尝试将 matplotlib.widget.Button 添加到我的 matplotlib 绘图画布中,该画布集成在 wxPython 中,但没有成功。
这是生成画布的代码:
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.widgets import Button
import wx
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
self.canvas = FigureCanvas(self, -1, self.figure)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.canvas, proportion=1, flag=wx.ALL | wx.GROW)
self.SetSizer(self.sizer)
self.Fit()
self.canvas.draw()
plot_object = self.axes.pcolormesh(combo_value.T, cmap='rainbow',
norm=colors.LogNorm(vmin=vmin_value, vmax=vmax_value))
self.canvas.draw()
如何在 wxPython 中向这个 matplotlib 图的轴添加一个按钮?我试图遵循这个例子:https://matplotlib.org/examples/widgets/buttons.html,但没有成功,因为你没有plt.axes
在 wxPython 的 matplotlib 中使用
我尝试了以下方法,实际上确实向画布添加了一个按钮,但它不是交互式的。
axprev = self.figure.add_axes([0.7, 0.01, 0.1, 0.075])
bprev = Button(axprev, 'Previous')
bprev.on_clicked(self.test())
def test(self):
print('Called')
这就是 GUI 画布现在的样子: 非交互式按钮