Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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
Exemplo n.º 11
0
    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