[1112] | 1 | # -*- coding: utf-8 -*- |
---|
| 2 | #GSASIItestplot.py |
---|
| 3 | ''' |
---|
| 4 | *GSASIItestplot: Plotting for testDeriv* |
---|
| 5 | ======================================== |
---|
| 6 | |
---|
| 7 | Plotting module used for script testDeriv. |
---|
| 8 | ''' |
---|
[308] | 9 | import wx |
---|
| 10 | import wx.aui |
---|
| 11 | import matplotlib as mpl |
---|
| 12 | from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as Canvas |
---|
| 13 | from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx as Toolbar |
---|
| 14 | |
---|
| 15 | class Plot(wx.Panel): |
---|
[1112] | 16 | 'Creates a plotting window' |
---|
[308] | 17 | def __init__(self, parent, id = -1, dpi = None, **kwargs): |
---|
| 18 | wx.Panel.__init__(self, parent, id=id, **kwargs) |
---|
| 19 | self.figure = mpl.figure.Figure(dpi=dpi, #figsize=(5,7) |
---|
| 20 | ) |
---|
| 21 | self.canvas = Canvas(self, -1, self.figure) |
---|
| 22 | self.toolbar = Toolbar(self.canvas) |
---|
| 23 | self.toolbar.Realize() |
---|
| 24 | |
---|
| 25 | sizer = wx.BoxSizer(wx.VERTICAL) |
---|
| 26 | sizer.Add(self.canvas,1,wx.EXPAND) |
---|
| 27 | sizer.Add(self.toolbar, 0 , wx.LEFT | wx.EXPAND) |
---|
| 28 | self.SetSizer(sizer) |
---|
| 29 | |
---|
| 30 | class PlotNotebook(wx.Panel): |
---|
[1112] | 31 | 'creates a Wx application and a plotting notebook' |
---|
[308] | 32 | def __init__(self, id = -1): |
---|
| 33 | self.app = wx.PySimpleApp() |
---|
| 34 | self.frame = wx.Frame(None,-1,'Plotter', size=wx.Size(600,600)) |
---|
| 35 | wx.Panel.__init__(self, self.frame, id=id) |
---|
| 36 | self.nb = wx.aui.AuiNotebook(self) |
---|
| 37 | sizer = wx.BoxSizer() |
---|
| 38 | sizer.Add(self.nb, 1, wx.EXPAND) |
---|
| 39 | self.SetSizer(sizer) |
---|
| 40 | |
---|
[450] | 41 | def Show(self): |
---|
| 42 | self.frame.Show() |
---|
| 43 | |
---|
[308] | 44 | def StartEventLoop(self): |
---|
[450] | 45 | self.Show() |
---|
[308] | 46 | self.app.MainLoop() |
---|
| 47 | |
---|
| 48 | def add(self,name="plot"): |
---|
| 49 | page = Plot(self.nb) |
---|
| 50 | self.nb.AddPage(page,name) |
---|
| 51 | return page.figure |
---|