COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
matplotlibwidget.py
1 # -*- coding: utf-8 -*-
2 """
3 Created on Tue Jun 24 00:27:01 2014
4 
5 @author: fvidal
6 """
7 """
8 from PyQt4 import QtGui
9 from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
10 
11 from matplotlib.figure import Figure
12 
13 class MplCanvas(FigureCanvas):
14 
15  def __init__(self):
16  self.fig = Figure(facecolor='white')
17  self.axes = self.fig.add_subplot(111)
18  # We want the axes cleared every time plot() is called
19  self.axes.hold(False)
20  FigureCanvas.__init__(self, self.fig)
21  FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding)
22  FigureCanvas.updateGeometry(self)
23 
24 
25 class MatplotlibWidget(QtGui.QWidget):
26 
27  def __init__(self, parent = None):
28  QtGui.QWidget.__init__(self, parent)
29  self.canvas = MplCanvas()
30  self.vbl = QtGui.QVBoxLayout()
31  self.vbl.addWidget(self.canvas)
32  self.setLayout(self.vbl)
33 """
34 
35 import sys
36 import platform
37 from PyQt5 import QtCore, QtGui, QtWidgets
38 
39 from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
40 from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as Navigationtoolbar
41 from matplotlib.figure import Figure
42 from matplotlib import gridspec
43 
44 # import matplotlib
45 # matplotlib.use('Qt5Agg')
46 
47 # matplotlib.rcParams['backend.qt4']='PySide'
48 # matplotlib.style.use('ggplot')
49 # matplotlib.style.use('seaborn-muted')
50 
51 
52 #Embeddable matplotlib figure/canvas
53 class MplCanvas(FigureCanvas):
54 
55  def __init__(self):
56  self.fig = Figure(frameon=True)
57  self.gs1 = gridspec.GridSpec(1, 1)
58  self.axes = self.fig.add_subplot(self.gs1[0], aspect="auto")
59 
60  FigureCanvas.__init__(self, self.fig)
61  FigureCanvas.setSizePolicy(self, QtWidgets.QSizePolicy.Expanding,
62  QtWidgets.QSizePolicy.Expanding)
63  FigureCanvas.updateGeometry(self)
64 
65 
66 #creates embeddable matplotlib figure/canvas with toolbar
67 class MatplotlibWidget(QtWidgets.QWidget):
68 
69  def __init__(self, parent=None):
70  QtWidgets.QWidget.__init__(self, parent)
72 
74  self.frame = QtWidgets.QWidget()
75  self.canvas = MplCanvas()
76  self.canvas.setParent(self.frame)
77  self.mpltoolbar = Navigationtoolbar(self.canvas, self.frame)
78  self.vbl = QtWidgets.QVBoxLayout()
79  self.vbl.addWidget(self.canvas)
80  self.vbl.addWidget(self.mpltoolbar)
81  self.setLayout(self.vbl)
shesha.util.matplotlibwidget.MatplotlibWidget.create_framentoolbar
def create_framentoolbar(self)
Definition: matplotlibwidget.py:73
shesha.util.matplotlibwidget.MatplotlibWidget.frame
frame
Definition: matplotlibwidget.py:74
shesha.util.matplotlibwidget.MatplotlibWidget.mpltoolbar
mpltoolbar
Definition: matplotlibwidget.py:77
shesha.util.matplotlibwidget.MatplotlibWidget
Definition: matplotlibwidget.py:67
shesha.util.matplotlibwidget.MplCanvas.__init__
def __init__(self)
Definition: matplotlibwidget.py:55
shesha.util.matplotlibwidget.MplCanvas
Definition: matplotlibwidget.py:53
shesha.util.matplotlibwidget.MplCanvas.fig
fig
Definition: matplotlibwidget.py:56
shesha.util.matplotlibwidget.MplCanvas.axes
axes
Definition: matplotlibwidget.py:58
shesha.util.matplotlibwidget.MatplotlibWidget.vbl
vbl
Definition: matplotlibwidget.py:78
shesha.util.matplotlibwidget.MatplotlibWidget.canvas
canvas
Definition: matplotlibwidget.py:75
shesha.util.matplotlibwidget.MatplotlibWidget.__init__
def __init__(self, parent=None)
Definition: matplotlibwidget.py:69
shesha.util.matplotlibwidget.MplCanvas.gs1
gs1
Definition: matplotlibwidget.py:57