【发布时间】:2016-09-21 03:41:25
【问题描述】:
我在面板中有一个 2x2 FlexGridSizer,我想同时插入四个不同的 matplotlib 图形和它们自己的工具栏。
我已经看到许多相关链接和嵌入一个图的工作示例,但由于我是 wxPython 和 OOP 的初学者,所以在测试一些代码并尝试将它们与我的代码合并时,我感到很困惑。
这是 wx.Notebook 的页面类的一部分,我想在其中放置数字
class Pagina(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.boton_descargar = wx.Button(self, -1, label=u"Descargar")
self.boton_desconectar = wx.Button(self, -1, label=u"Desconectar")
sizer = wx.BoxSizer(wx.VERTICAL)
subsizer1 = wx.BoxSizer(wx.HORIZONTAL)
subsizer2 = wx.FlexGridSizer(rows=2, cols=2)
sizer.Add(subsizer1, 0, wx.EXPAND | wx.ALL, 0)
sizer.Add(subsizer2, 1, wx.EXPAND | wx.ALL, 0)
sizer.Add(self.boton_desconectar, 0, wx.ALIGN_RIGHT | wx.RIGHT, 10)
subsizer1.Add(self.boton_descargar, 0, wx.ALL, 10)
self.Bind(wx.EVT_BUTTON, self.onClick_descargar, self.boton_descargar)
self.Bind(wx.EVT_BUTTON, self.onClick_desconectar, self.boton_desconectar)
self.SetSizer(sizer)
def onClick_descargar(self, event):
HiloDescarga()
def onClick_desconectar(self, event):
pass
HiloDescarga其实是一个线程启动的,用来下载一些文本行,处理数据,绘制成这样(第四个图是一样的):
import matplotlib.pyplot as plt
line, = plt.plot(range(len(x)), x, '-', linewidth=1)
line, = plt.plot(range(len(x)), f, 'y-', linewidth=1)
plt.xlabel('x')
plt.ylabel('y')
plt.title(r'title1')
plt.grid()
plt.figure()
line, = plt.plot(range(len(y)), y, 'r-', linewidth=1)
line, = plt.plot(range(len(y)), g, 'y-', linewidth=1)
plt.xlabel('x')
plt.ylabel('y')
plt.title(r'title2')
plt.grid()
plt.figure()
line, = plt.plot(range(len(z)), z, 'g-', linewidth=1)
line, = plt.plot(range(len(z)), h, 'y-', linewidth=1)
plt.xlabel('x')
plt.ylabel('y')
plt.title(r'title3')
plt.grid()
plt.show()
所以这些数字只是在单独的窗口中弹出。如果你能给我一个 sn-p 或至少一些方向,也许是对绘图代码的一些更改,我不知道。欢迎任何帮助。
【问题讨论】:
标签: python matplotlib wxpython