我想用wxpython更改面板中的子图(左下右上wspace hspace),但是没有用。但是我只想使用matplotlib,它就很好。(我想用wxpython更改面板中的子图(左下右上wspace hspace),但是没有用。但是只能使用matplotlib,它很好。)
from numpy import arange, sin, pi
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use('WXAgg')
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from matplotlib.figure import Figure
import wx
class CanvasPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.figure = Figure()
# self.axes = self.figure.add_subplot(111)
self.DrawUi()
self.canvas = FigureCanvas(self, -1, self.figure)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
self.SetSizer(self.sizer)
self.Fit()
def DrawUi(self):
ax = []
for i in range( 24):
print('i, %d' % i)
ax.append(i)
ax[i] = self.figure.add_subplot(8, 3, i+1)
ax[i].plot( [1,2,3,4])
plt.xlim((0, 512))
plt.ylim((0, 256))
plt.subplots_adjust(left=0, bottom=0, right=1, top=1, hspace=0, wspace=0)
if __name__ == "__main__":
app = wx.PySimpleApp()
fr = wx.Frame(None, title='test')
panel = CanvasPanel(fr)
# panel.draw()
fr.Show()
app.MainLoop()