Changes in src/sas/qtgui/Plotter2D.py [ef01be4:31c5b58] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Plotter2D.py
ref01be4 r31c5b58 18 18 import sas.qtgui.PlotUtilities as PlotUtilities 19 19 import sas.qtgui.PlotHelper as PlotHelper 20 from sas.qtgui.PlotterBase import PlotterBase21 20 22 class Plotter2D(PlotterBase): 23 def __init__(self, parent=None, quickplot=False): 24 super(Plotter2D, self).__init__(parent, quickplot=quickplot) 21 class Plotter2D(QtGui.QDialog): 22 def __init__(self, parent=None): 23 super(Plotter2D, self).__init__(parent) 24 25 # Required for the communicator 26 self.parent = parent 27 28 # a figure instance to plot on 29 self.figure = plt.figure() 30 31 # this is the Canvas Widget that displays the `figure` 32 # it takes the `figure` instance as a parameter to __init__ 33 self.canvas = FigureCanvas(self.figure) 34 35 # this is the Navigation widget 36 # it takes the Canvas widget and a parent 37 self.toolbar = NavigationToolbar(self.canvas, self) 38 39 # set the layout 40 layout = QtGui.QVBoxLayout() 41 layout.addWidget(self.canvas) 42 layout.addWidget(self.toolbar) 43 self.setLayout(layout) 44 45 # defaults 46 self._current_plot = 111 47 self._data = [] 48 self._qx_data = [] 49 self._qy_data = [] 50 self._color=0 51 self._symbol=0 52 self._scale = 'linear' 53 54 # default color map 55 self._cmap = DEFAULT_CMAP 56 57 self._ax = self.figure.add_subplot(self._current_plot) 58 59 # Notify the helper 60 PlotHelper.addPlot(self) 61 # Notify the listeners 62 self.parent.communicator.activeGraphsSignal.emit(PlotHelper.currentPlots()) 25 63 26 64 @property … … 32 70 """ data setter """ 33 71 self._data = data 34 self. qx_data=data.qx_data35 self. qy_data=data.qy_data36 self. xmin=data.xmin37 self. xmax=data.xmax38 self. ymin=data.ymin39 self. ymax=data.ymax40 self. zmin=data.zmin41 self. zmax=data.zmax42 self. label=data.name43 self.x Label(xlabel="%s(%s)"%(data._xaxis, data._xunit))44 self.y Label(ylabel="%s(%s)"%(data._yaxis, data._yunit))72 self._qx_data=data.qx_data 73 self._qy_data=data.qy_data 74 self._xmin=data.xmin 75 self._xmax=data.xmax 76 self._ymin=data.ymin 77 self._ymax=data.ymax 78 self._zmin=data.zmin 79 self._zmax=data.zmax 80 self._label=data.name 81 self.x_label(xlabel=data._xaxis + data._xunit) 82 self.y_label(ylabel=data._yaxis + data._yunit) 45 83 self.title(title=data.title) 84 85 def title(self, title=""): 86 """ title setter """ 87 self._title = title 88 89 def id(self, id=""): 90 """ id setter """ 91 self._id = id 92 93 def x_label(self, xlabel=""): 94 """ x-label setter """ 95 self._xlabel = r'$%s$'% xlabel 96 97 def y_label(self, ylabel=""): 98 """ y-label setter """ 99 self._ylabel = r'$%s$'% ylabel 100 101 def clean(self): 102 """ 103 Redraw the graph 104 """ 105 self.figure.delaxes(self._ax) 106 self._ax = self.figure.add_subplot(self._current_plot) 46 107 47 108 def plot(self, marker=None, linestyle=None): … … 49 110 Plot 2D self._data 50 111 """ 51 # create an axis object52 ax = self. ax112 # create an axis 113 ax = self._ax 53 114 54 115 # graph properties 55 ax.set_xlabel(self.x_label) 56 ax.set_ylabel(self.y_label) 57 # Title only for regular charts 58 if not self.quickplot: 59 ax.set_title(label=self.title) 116 ax.set_xlabel(self._xlabel) 117 ax.set_ylabel(self._ylabel) 118 ax.set_title(label=self._title) 60 119 61 120 # Re-adjust colorbar 62 self.figure.subplots_adjust(left=0.2, right=.8, bottom=.2)121 # self.figure.subplots_adjust(left=0.2, right=.8, bottom=.2) 63 122 64 output = PlotUtilities.build_matrix(self._data.data, self. qx_data, self.qy_data)123 output = PlotUtilities.build_matrix(self._data.data, self._qx_data, self._qy_data) 65 124 66 125 im = ax.imshow(output, 67 126 interpolation='nearest', 68 127 origin='lower', 69 vmin=self. zmin, vmax=self.zmax,70 cmap=self. cmap,71 extent=(self. xmin, self.xmax,72 self. ymin, self.ymax))128 vmin=self._zmin, vmax=self._zmax, 129 cmap=self._cmap, 130 extent=(self._xmin, self._xmax, 131 self._ymin, self._ymax)) 73 132 74 133 cbax = self.figure.add_axes([0.84, 0.2, 0.02, 0.7]) … … 79 138 # Schedule the draw for the next time the event loop is idle. 80 139 self.canvas.draw_idle() 140 141 def closeEvent(self, event): 142 """ 143 Overwrite the close event adding helper notification 144 """ 145 # Please remove me from your database. 146 PlotHelper.deletePlot(PlotHelper.idOfPlot(self)) 147 # Notify the listeners 148 self.parent.communicator.activeGraphsSignal.emit(PlotHelper.currentPlots()) 149 event.accept() 150
Note: See TracChangeset
for help on using the changeset viewer.