def clear_plots(self): x = range(len(self.plots)) self.xdataname_generators = [ self._name_generator_factory('x') for _ in x ] self.ydataname_generators = [ self._name_generator_factory('y') for _ in x ] self.yerdataname_generators = [ self._name_generator_factory('yer') for _ in x ] self.color_generators = [color_generator() for _ in x] # for po in x: self.series = [[] for _ in x] self.data_len = [[] for _ in x] self.data_limits = [[] for _ in x] # print '====== {}'.format(self) # print 'len plots {}'.format(len(self.plots)) for pi in self.plots: # print 'len pi.renderers {}'.format(len(pi.plots.keys())) for k, pp in pi.plots.items(): for renderer in pp: try: pi.remove(renderer) except RuntimeError: print 'failed removing {}'.format(renderer) pi.plots.pop(k) # print 'len psss.renderers {}'.format(len(pi.plots.keys())) self.clear_data()
def clear_plots(self): x = range(len(self.plots)) self.xdataname_generators = [self._name_generator_factory('x') for _ in x] self.ydataname_generators = [self._name_generator_factory('y') for _ in x] self.yerdataname_generators = [self._name_generator_factory('yer') for _ in x] self.color_generators = [color_generator() for _ in x] # for po in x: self.series = [[] for _ in x] self.data_len = [[] for _ in x] self.data_limits = [[] for _ in x] # print '====== {}'.format(self) # print 'len plots {}'.format(len(self.plots)) for pi in self.plots: # print 'len pi.renderers {}'.format(len(pi.plots.keys())) for k, pp in pi.plots.items(): for renderer in pp: try: pi.remove(renderer) except RuntimeError: print 'failed removing {}'.format(renderer) pi.plots.pop(k) # print 'len psss.renderers {}'.format(len(pi.plots.keys())) self.clear_data()
def clear(self, clear_container=True): """ """ self.clear_plots() self.plots = [] self.xdataname_generators = [name_generator('x')] self.ydataname_generators = [name_generator('y')] self.yerdataname_generators = [name_generator('yer')] self.color_generators = [color_generator()] self.series = [] self.data_len = [] self.data_limits = [] if clear_container: self.plotcontainer = pc = self.container_factory() if self.use_context_menu: menu = ContextualMenuTool(parent=self, component=pc) pc.tools.append(menu) self.selected_plot = None
def new_plot(self, add=True, **kw): """ """ p = plot_factory(**kw) self.plots.append(p) self.color_generators.append(color_generator()) self.xdataname_generators.append(name_generator('x')) self.ydataname_generators.append(name_generator('y')) self.yerdataname_generators.append(name_generator('yer')) self.series.append([]) pc = self.plotcontainer if add: if not isinstance(add, bool): pc.insert(add, p) else: pc.add(p) zoom = kw['zoom'] if 'zoom' in kw else False pan = kw['pan'] if 'pan' in kw else False tools = [] if zoom: nkw = dict(tool_mode='box', always_on=False) if 'zoom_dict' in kw: zoomargs = kw['zoom_dict'] for k in zoomargs: nkw[k] = zoomargs[k] from chaco.tools.api import ZoomTool zt = ZoomTool(component=p, **nkw) p.overlays.append(zt) tools.append(zt) if pan: from .tools.pan_tool import MyPanTool as PanTool kwargs = dict(always_on=False) if isinstance(pan, str): kwargs['constrain'] = True kwargs['constrain_direction'] = pan kwargs['constrain_key'] = None pt = PanTool(p, container=pc, **kwargs) tools.append(pt) plotid = len(self.plots) - 1 for t in ['x', 'y']: title = '{}title'.format(t) if title in kw: self._set_title('{}_axis'.format(t), kw[title], plotid) p.tools = tools return p
def clear(self): """ """ self.clear_plots() self.plots = [] self.xdataname_generators = [self._name_generator_factory('x')] self.ydataname_generators = [self._name_generator_factory('y')] self.yerdataname_generators = [self._name_generator_factory('yer')] self.color_generators = [color_generator()] self.series = [] self.data_len = [] # self.raw_x = [] # self.raw_y = [] # self.raw_yer = [] self.data_limits = [] self.plotcontainer = self.container_factory() self.selected_plot = None
def clear_plots(self): x = list(range(len(self.plots))) self.xdataname_generators = [name_generator('x') for _ in x] self.ydataname_generators = [name_generator('y') for _ in x] self.yerdataname_generators = [name_generator('yer') for _ in x] self.color_generators = [color_generator() for _ in x] self.series = [[] for _ in x] self.data_len = [[] for _ in x] self.data_limits = [[] for _ in x] for pi in self.plots: for k, pp in list(pi.plots.items()): for renderer in pp: try: pi.remove(renderer) except RuntimeError: print('failed removing {}'.format(renderer)) pi.plots.pop(k) self.clear_data()
def new_plot(self, add=True, **kw): """ """ p = self._plot_factory(**kw) self.plots.append(p) self.color_generators.append(color_generator()) self.xdataname_generators.append(name_generator('x')) self.ydataname_generators.append(name_generator('y')) self.yerdataname_generators.append(name_generator('yer')) self.series.append([]) # self.raw_x.append([]) # self.raw_y.append([]) # self.raw_yer.append([]) pc = self.plotcontainer if add: if not isinstance(add, bool): pc.insert(add, p) else: pc.add(p) zoom = kw['zoom'] if 'zoom' in kw else False pan = kw['pan'] if 'pan' in kw else False contextmenu = kw['contextmenu'] if 'contextmenu' in kw.keys() else True tools = [] if zoom: nkw = dict(tool_mode='box', always_on=False ) if 'zoom_dict' in kw: zoomargs = kw['zoom_dict'] for k in zoomargs: nkw[k] = zoomargs[k] zt = ZoomTool(component=p, **nkw) p.overlays.append(zt) tools.append(zt) if pan: kwargs = dict(always_on=False) if isinstance(pan, str): kwargs['constrain'] = True kwargs['constrain_direction'] = pan kwargs['constrain_key'] = None pt = PanTool(p, container=pc, **kwargs) tools.append(pt) plotid = len(self.plots) - 1 #for tool in pc.tools: # if isinstance(tool, ContextualMenuTool): # contextmenu = False #if contextmenu: # menu = ContextualMenuTool(parent=weakref.ref(self)(), # component=pc) # pc.tools.append(menu) for t in ['x', 'y']: title = '{}title'.format(t) if title in kw: self._set_title('{}_axis'.format(t), kw[title], plotid) # broadcaster = BroadcasterTool(tools=tools # ) # p.tools.insert(0, broadcaster) p.tools = tools return p
def new_plot(self, add=True, **kw): """ """ p = self._plot_factory(**kw) self.plots.append(p) self.color_generators.append(color_generator()) self.xdataname_generators.append(name_generator('x')) self.ydataname_generators.append(name_generator('y')) self.yerdataname_generators.append(name_generator('yer')) self.series.append([]) # self.raw_x.append([]) # self.raw_y.append([]) # self.raw_yer.append([]) pc = self.plotcontainer if add: if not isinstance(add, bool): pc.insert(add, p) else: pc.add(p) zoom = kw['zoom'] if 'zoom' in kw else False pan = kw['pan'] if 'pan' in kw else False contextmenu = kw['contextmenu'] if 'contextmenu' in kw.keys() else True tools = [] if zoom: nkw = dict(tool_mode='box', always_on=False) if 'zoom_dict' in kw: zoomargs = kw['zoom_dict'] for k in zoomargs: nkw[k] = zoomargs[k] zt = ZoomTool(component=p, **nkw) p.overlays.append(zt) tools.append(zt) if pan: kwargs = dict(always_on=False) if isinstance(pan, str): kwargs['constrain'] = True kwargs['constrain_direction'] = pan kwargs['constrain_key'] = None pt = PanTool(p, container=pc, **kwargs) tools.append(pt) plotid = len(self.plots) - 1 #for tool in pc.tools: # if isinstance(tool, ContextualMenuTool): # contextmenu = False #if contextmenu: # menu = ContextualMenuTool(parent=weakref.ref(self)(), # component=pc) # pc.tools.append(menu) for t in ['x', 'y']: title = '{}title'.format(t) if title in kw: self._set_title('{}_axis'.format(t), kw[title], plotid) # broadcaster = BroadcasterTool(tools=tools # ) # p.tools.insert(0, broadcaster) p.tools = tools return p