Gráficos com MatPlotLib e WxPython
Já vimos uma exemplo da plotagem de um gráfico usando a biblioteca matplotplib, mas podemos usar outro toolkit gráfico(Wxpython, GTK, QT…), para desenhar as janelas dos gráficos. Já que eu gosto do wxpython, eis um exemplo de como usar a matplotlib juntamente com wxpython:
#!/usr/bin/env python
import matplotlibmatplotlib.use('WX')from matplotlib.backends.backend_wx import Toolbar
import FigureCanvasWx, FigureManagerfrom matplotlib.figure import Figure
import numpy
import wx
class PlotFigure(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Teste de Grafico 2D com WxPython e Matplotlib")
self.fig = Figure((9,8), 75)
self.canvas = FigureCanvasWx(self, -1, self.fig)
self.toolbar = Toolbar(self.canvas)
self.toolbar.Realize()
tw, th = self.toolbar.GetSizeTuple()
fw, fh = self.canvas.GetSizeTuple()
self.toolbar.SetSize(wx.Size(fw, th))
self.figmgr = FigureManager(self.canvas, 1, self)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.canvas, 1, wx.ALIGN_LEFT|wx.ALIGN_TOP|wx.GROW)
sizer.Add(self.toolbar, 0, wx.GROW)
self.SetSizer(sizer)
self.Fit()
def plot_data(self):
a = self.fig.add_subplot(111)
t = numpy.arange(0.0,3.0,0.01)
s = numpy.sin(2*numpy.pi*t)
c = numpy.cos(2*numpy.pi*t)
a.plot(t,s)
a.plot(t,c)
self.toolbar.update()
def GetToolBar(self):
return self.toolbar
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = PlotFigure()
frame.plot_data()
frame.Show()
app.MainLoop()
Agora a imagem do exemplo funcionando:

Comentários