def test_orientation(self): dv = DataView() x_mapper_start = dv.x_mapper y_mapper_start = dv.y_mapper dv.orientation = "v" self.assertTrue(dv.x_mapper is y_mapper_start) self.assertTrue(dv.y_mapper is x_mapper_start)
def _plot_default(self): container = DataView() xds = FunctionDataSource(func = self.xfunc) yds = FunctionDataSource(func = self.yfunc) xmapper = container.x_mapper ymapper = container.y_mapper xds.data_range = xmapper.range yds.data_range = xmapper.range xmapper.range.set_bounds(-5, 10) ymapper.range.set_bounds(-1, 1.2) #FIXME: change color, marker, marker_size to see the difference plot = ScatterPlot(index = xds, value = yds, index_mapper = xmapper, value_mapper = ymapper, color = "green", marker = "circle", marker_size = 3, line_width = 0) plot2 = LinePlot(index = xds, value = yds, index_mapper = xmapper, value_mapper = ymapper, color = "lightgray") container.add(plot2, plot) #FIXME: uncomment following two lines to see the difference #plot.tools.append(PanTool(plot, constrain_direction="x", constrain=True)) #plot.tools.append(ZoomTool(plot, axis="index", tool_mode="range")) return container
def _plot_default(self): x = linspace(-5, 10, 500) y = sin(x) y2 = 0.5 * cos(2*x) view = DataView(border_visible = True) scatter = ScatterPlot(index = ArrayDataSource(x), value = ArrayDataSource(y), marker = "square", color = "red", outline_color = "transparent", index_mapper = LinearMapper(range=view.index_range), value_mapper = LinearMapper(range=view.value_range)) line = LinePlot(index = scatter.index, value = ArrayDataSource(y2), color = "blue", index_mapper = LinearMapper(range=view.index_range), value_mapper = LinearMapper(range=view.value_range)) # Add the plot's index and value datasources to the dataview's # ranges so that it can auto-scale and fit appropriately view.index_range.sources.append(scatter.index) view.value_range.sources.append(scatter.value) view.value_range.sources.append(line.value) # Add the renderers to the dataview. The z-order is determined # by the order in which renderers are added. view.add(scatter) view.add(line) view.tools.append(PanTool(view)) view.overlays.append(ZoomTool(view)) return view
def test_range2d_changed(self): dv = DataView() ds = GridDataSource() dv.range2d.add(ds) old_range = dv.range2d r = DataRange2D() self.assertTrue(dv.range2d.sources==[ds]) dv.range2d = r self.assertTrue(dv.range2d.sources==[ds]) self.assertTrue(old_range.sources==[]) self.assertTrue(dv.range2d.x_range is dv.index_mapper.range) self.assertTrue(dv.range2d.y_range is dv.value_mapper.range)
def draw(self, gc, *args, **kw): """ """ with gc: DataView._draw(self, gc, *args, **kw) #with gc: #gc.translate_ctm(0,0.5) #gc.clip_to_rect(self.x-0.5, self.y-2, self.width+1, self.height+4) #gc.clip_to_rect(self.outer_x, self.outer_y, self.outer_width, self.outer_height) self._draw_hook(gc, *args, **kw) for o in self.overlays: if o.visible: o.overlay(None, gc, *args, **kw)
def draw(self, gc, *args, **kw): ''' ''' with gc: DataView._draw(self, gc, *args, **kw) #with gc: #gc.translate_ctm(0,0.5) #gc.clip_to_rect(self.x-0.5, self.y-2, self.width+1, self.height+4) #gc.clip_to_rect(self.outer_x, self.outer_y, self.outer_width, self.outer_height) self._draw_hook(gc, *args, **kw) for o in self.overlays: if o.visible: o.overlay(None, gc, *args, **kw)
def test_empty(self): dv = DataView() self.assertTrue(dv.orientation=="h") self.assertTrue(dv.index_scale=="linear") self.assertTrue(dv.bgcolor=="white") self.assertTrue(dv.overlay_border==True) self.assertTrue(dv.range2d.x_range==dv.index_range) self.assertTrue(dv.range2d.y_range==dv.value_range)
def _plot_default(self): x = linspace(-5, 10, 500) y = sin(x) y2 = 0.5 * cos(2 * x) view = DataView(border_visible=True) scatter = ScatterPlot( index=ArrayDataSource(x), value=ArrayDataSource(y), marker="square", color="red", outline_color="transparent", index_mapper=LinearMapper(range=view.index_range), value_mapper=LinearMapper(range=view.value_range)) line = LinePlot(index=scatter.index, value=ArrayDataSource(y2), color="blue", index_mapper=LinearMapper(range=view.index_range), value_mapper=LinearMapper(range=view.value_range)) # Add the plot's index and value datasources to the dataview's # ranges so that it can auto-scale and fit appropriately view.index_range.sources.append(scatter.index) view.value_range.sources.append(scatter.value) view.value_range.sources.append(line.value) # Add the renderers to the dataview. The z-order is determined # by the order in which renderers are added. view.add(scatter) view.add(line) view.tools.append(PanTool(view)) view.overlays.append(ZoomTool(view)) return view
def _plot_default(self): container = DataView() xds = FunctionDataSource(func=self.xfunc) yds = FunctionDataSource(func=self.yfunc) xmapper = container.x_mapper ymapper = container.y_mapper xds.data_range = xmapper.range yds.data_range = xmapper.range xmapper.range.set_bounds(-5, 10) ymapper.range.set_bounds(-1, 1.2) plot = ScatterPlot(index=xds, value=yds, index_mapper=xmapper, value_mapper=ymapper, color="green", marker="circle", marker_size=3, line_width=0) plot2 = LinePlot(index=xds, value=yds, index_mapper=xmapper, value_mapper=ymapper, color="lightgray") container.add(plot2, plot) plot.tools.append( PanTool(plot, constrain_direction="x", constrain=True)) plot.tools.append(ZoomTool(plot, axis="index", tool_mode="range")) return container