Changeset 3477478 in sasview for src/sas/plottools/plottable_interactor.py
- Timestamp:
- Mar 5, 2015 12:38:29 PM (9 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- b9dbd6b
- Parents:
- 2df0b74
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/plottools/plottable_interactor.py
r79492222 r3477478 2 2 This module allows more interaction with the plot 3 3 """ 4 import plottables5 4 from BaseInteractor import _BaseInteractor 6 5 … … 26 25 self._dragged = False 27 26 self.connect_markers([self.axes]) 28 27 29 28 def _color(self, c): 30 29 """Return a particular colour""" 31 30 return self.colorlist[c % len(self.colorlist)] 32 31 33 32 def _symbol(self, s): 34 33 """Return a particular symbol""" 35 34 return self.symbollist[s % len(self.symbollist)] 36 35 37 def points(self, x, y, dx=None, dy=None, color=0, symbol=0, zorder=1, 36 def points(self, x, y, dx=None, dy=None, color=0, symbol=0, zorder=1, 38 37 markersize=5, label=None, hide_error=False): 39 38 """ 40 39 """ 41 # Draw curve40 # Draw curve 42 41 if self._symbol(symbol) == '-' or self._symbol(symbol) == '--': 43 42 l_width = markersize * 0.4 44 return self.curve(x=x, y=y, color=color, symbol=symbol, 43 return self.curve(x=x, y=y, color=color, symbol=symbol, 45 44 label=label, width=l_width) 46 # return45 # return 47 46 if self._symbol(symbol) == 'vline': 48 47 l_width = markersize * 0.4 49 return self.vline(x=x, y=y, color=color, 50 label=label, width=l_width) 48 return self.vline(x=x, y=y, color=color, label=label, width=l_width) 51 49 if self._symbol(symbol) == 'step': 52 50 l_width = markersize * 0.4 53 return self.step(x=x, y=y, color=color, 54 label=label, width=l_width) 51 return self.step(x=x, y=y, color=color, label=label, width=l_width) 55 52 if not self.marker == None: 56 53 self.base.connect.clear([self.marker]) … … 60 57 # Convert tuple (lo,hi) to array [(x-lo),(hi-x)] 61 58 if dx != None and type(dx) == type(()): 62 dx = nx.vstack((x -dx[0], dx[1]-x)).transpose()59 dx = nx.vstack((x - dx[0], dx[1] - x)).transpose() 63 60 if dy != None and type(dy) == type(()): 64 dy = nx.vstack((y -dy[0], dy[1]-y)).transpose()65 61 dy = nx.vstack((y - dy[0], dy[1] - y)).transpose() 62 66 63 if dx == None and dy == None: 67 # zorder = 164 # zorder = 1 68 65 self.marker = self.axes.plot(x, y, color=self.color, 69 66 marker=self._symbol(symbol), … … 72 69 zorder=zorder)[0] 73 70 else: 74 71 75 72 if hide_error: 76 # zorder = 173 # zorder = 1 77 74 self.marker = self.axes.plot(x, y, color=self.color, 78 75 marker=self._symbol(symbol), … … 81 78 zorder=1)[0] 82 79 else: 83 # zorder = 280 # zorder = 2 84 81 self.marker = self.axes.errorbar(x, y, yerr=dy, 85 82 xerr=None, … … 95 92 label=label, 96 93 zorder=1)[0] 97 98 self.connect_markers([self.marker]) 99 self.update() 100 101 def curve(self, x, y, dy=None, color=0, symbol=0, zorder=10, 94 95 self.connect_markers([self.marker]) 96 self.update() 97 98 def curve(self, x, y, dy=None, color=0, symbol=0, zorder=10, 102 99 label=None, width=2.0): 103 100 """ … … 109 106 marker='', linestyle=self._symbol(symbol), 110 107 label=label, zorder=zorder)[0] 111 112 self.connect_markers([self.marker]) 113 self.update() 114 115 116 def vline(self, x, y, dy=None, color=0, symbol=0, zorder=1, 108 109 self.connect_markers([self.marker]) 110 self.update() 111 112 113 def vline(self, x, y, dy=None, color=0, symbol=0, zorder=1, 117 114 label=None, width=2.0): 118 115 """ … … 124 121 y_min = 0.0 125 122 else: 126 y_min = min(y) *9/10127 self.marker = self.axes.vlines(x=x, ymin=y_min, ymax=y, 128 color=self.color,129 linestyle='-', label=label,130 lw=width, zorder=zorder)123 y_min = min(y) * 9 / 10 124 self.marker = self.axes.vlines(x=x, ymin=y_min, ymax=y, 125 color=self.color, 126 linestyle='-', label=label, 127 lw=width, zorder=zorder) 131 128 self.connect_markers([self.marker]) 132 129 self.update() 133 130 134 131 def step(self, x, y, dy=None, color=0, symbol=0, zorder=1, 135 label=None, width=2.0): 136 """ 137 """ 138 if not self.marker == None: 139 self.base.connect.clear([self.marker]) 140 self.color = self._color(color) 141 if self.markersize != None: 142 markersize = self.markersize 143 132 label=None, width=2.0): 133 """ 134 """ 135 if not self.marker == None: 136 self.base.connect.clear([self.marker]) 137 self.color = self._color(color) 144 138 self.marker = self.axes.step(x, y, color=self.color, 145 146 147 148 self.connect_markers([self.marker]) 149 self.update() 150 139 marker='', 140 linestyle='-', label=label, 141 lw=width, zorder=zorder)[0] 142 self.connect_markers([self.marker]) 143 self.update() 144 151 145 def connect_markers(self, markers): 152 146 """ … … 163 157 def clear(self): 164 158 print "plottable_interactor.clear()" 165 159 166 160 def _on_click(self, evt): 167 161 """ … … 183 177 if evt.button == 3: 184 178 self._context_menu = True 185 179 186 180 def _on_enter(self, evt): 187 181 """ … … 191 185 if not evt.artist.__class__.__name__ == "AxesSubplot": 192 186 self.base.plottable_selected(self.id) 193 187 194 188 if evt.artist.get_color() == 'y': 195 189 try: … … 212 206 213 207 self.axes.figure.canvas.draw_idle() 214 208 215 209 def _on_leave(self, evt): 216 210 """ … … 230 224 evt.artist.set_edgecolor(self.color) 231 225 self.axes.figure.canvas.draw_idle() 232 226 233 227 def update(self): 234 228 """
Note: See TracChangeset
for help on using the changeset viewer.