Пример #1
0
def make_plot(parent, editor):
    """
    Builds the Canvas window for displaying the mpl-figure
    """
    try:
        if ETSConfig.toolkit == "wx":
            from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
            from matplotlib.backends.backend_wx import NavigationToolbar2Wx
            import wx
            fig = editor.object.figure
            panel = wx.Panel(parent, -1)
            canvas = FigureCanvasWxAgg(panel, -1, fig)
            toolbar = NavigationToolbar2Wx(canvas)
            toolbar.Realize()
            sizer = wx.BoxSizer(wx.VERTICAL)
            sizer.Add(canvas,1,wx.EXPAND|wx.ALL,1)
            sizer.Add(toolbar,0,wx.EXPAND|wx.ALL,1)
            panel.SetSizer(sizer)
            return panel
        elif ETSConfig.toolkit == "qt4":
            from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
            from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
            from PyQt4 import QtGui
            widget = QtGui.QWidget()
            #color="green"
            #palette = widget.palette()
            #palette.setColor(QtGui.QPalette.Window, QtGui.QColor(color))
            #widget.setPalette(palette)
            #widget.setAutoFillBackground(True)
            widget.setMinimumWidth(200)
            widget.setMinimumHeight(300)

            fig = editor.object.figure
            canvas = FigureCanvas(fig)
            canvas.setParent(widget)
            toolbar = NavigationToolbar(canvas, widget)
            vbox = QtGui.QVBoxLayout()
            vbox.addWidget(canvas)
            vbox.addWidget(toolbar)
            widget.setLayout(vbox)
            return widget
    except:
        import pdb
        pdb.post_mortem()