Changeset eddb6ec in sasview for src/sans/plottools
- Timestamp:
- Apr 2, 2014 7:25:09 AM (11 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:
- 6771d94
- Parents:
- 8817d07
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sans/plottools/PlotPanel.py
r8817d07 reddb6ec 3 3 import logging 4 4 import wx 5 import os 5 6 # Try a normal import first 6 7 # If it fails, try specifying a version … … 11 12 from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg 12 13 from matplotlib.figure import Figure 13 import os 14 import transform 15 from plottables import Data1D 16 #TODO: make the plottables interactive 17 from binder import BindArtist 14 from sans.plottools import transform 15 from sans.plottools.plottables import Data1D 16 from sans.plottools.binder import BindArtist 18 17 from matplotlib.font_manager import FontProperties 19 18 DEBUG = False 20 19 21 from plottables import Graph 22 from plottables import Text 23 from TextDialog import TextDialog 24 from LabelDialog import LabelDialog 20 from sans.plottools.plottables import Graph 21 from sans.plottools.TextDialog import TextDialog 22 from sans.plottools.LabelDialog import LabelDialog 25 23 import operator 26 24 … … 38 36 for a in obj.get_children(): show_tree(a, d+1) 39 37 40 from unitConverter import UnitConvertion as convertUnit38 from sans.plottools.unitConverter import UnitConvertion as convertUnit 41 39 42 40 43 41 def _rescale(lo, hi, step, pt=None, bal=None, scale='linear'): 44 45 46 47 48 42 """ 43 Rescale (lo,hi) by step, returning the new (lo,hi) 44 The scaling is centered on pt, with positive values of step 45 driving lo/hi away from pt and negative values pulling them in. 46 If bal is given instead of point, it is already in [0,1] coordinates. 49 47 50 This is a helper function for step-based zooming. 51 52 """ 53 # Convert values into the correct scale for a linear transformation 54 # TODO: use proper scale transformers 55 loprev = lo 56 hiprev = hi 57 if scale == 'log': 58 assert lo > 0 59 if lo > 0: 60 lo = math.log10(lo) 61 if hi > 0: 62 hi = math.log10(hi) 63 if pt is not None: 64 pt = math.log10(pt) 65 66 # Compute delta from axis range * %, or 1-% if persent is negative 67 if step > 0: 68 delta = float(hi - lo) * step / 100 48 This is a helper function for step-based zooming. 49 """ 50 # Convert values into the correct scale for a linear transformation 51 # TODO: use proper scale transformers 52 loprev = lo 53 hiprev = hi 54 if scale == 'log': 55 assert lo > 0 56 if lo > 0: 57 lo = math.log10(lo) 58 if hi > 0: 59 hi = math.log10(hi) 60 if pt is not None: 61 pt = math.log10(pt) 62 63 # Compute delta from axis range * %, or 1-% if present is negative 64 if step > 0: 65 delta = float(hi - lo) * step / 100 66 else: 67 delta = float(hi - lo) * step / (100 - step) 68 69 # Add scale factor proportionally to the lo and hi values, 70 # preserving the 71 # point under the mouse 72 if bal is None: 73 bal = float(pt - lo) / (hi - lo) 74 lo = lo - (bal * delta) 75 hi = hi + (1 - bal) * delta 76 77 # Convert transformed values back to the original scale 78 if scale == 'log': 79 if (lo <= -250) or (hi >= 250): 80 lo = loprev 81 hi = hiprev 69 82 else: 70 delta = float(hi - lo) * step / (100 - step) 71 72 # Add scale factor proportionally to the lo and hi values, 73 # preserving the 74 # point under the mouse 75 if bal is None: 76 bal = float(pt - lo) / (hi - lo) 77 lo = lo - (bal * delta) 78 hi = hi + (1 - bal) * delta 79 80 # Convert transformed values back to the original scale 81 if scale == 'log': 82 if (lo <= -250) or (hi >= 250): 83 lo = loprev 84 hi = hiprev 85 else: 86 lo, hi = math.pow(10., lo), math.pow(10., hi) 87 return (lo, hi) 83 lo, hi = math.pow(10., lo), math.pow(10., hi) 84 return (lo, hi) 88 85 89 86 … … 125 122 self.figure = Figure(None, dpi, linewidth=2.0) 126 123 self.color = '#b3b3b3' 127 from canvas import FigureCanvas124 from sans.plottools.canvas import FigureCanvas 128 125 self.canvas = FigureCanvas(self, -1, self.figure) 129 126 self.SetColor(color) … … 158 155 159 156 # Define some constants 160 self.colorlist = ['b', 'g','r','c','m','y','k']161 self.symbollist = ['o', 'x','^','v','<','>','+',162 's', 'd','D','h','H','p', '-']157 self.colorlist = ['b', 'g', 'r', 'c', 'm', 'y', 'k'] 158 self.symbollist = ['o', 'x', '^', 'v', '<', '>', '+', 159 's', 'd', 'D', 'h', 'H', 'p', '-'] 163 160 164 161 #List of texts currently on the plot
Note: See TracChangeset
for help on using the changeset viewer.