예제 #1
0
from unittest import SkipTest

from holoviews.core.options import Store
from holoviews.core.spaces import DynamicMap
from holoviews.element import Table
from holoviews.element.comparison import ComparisonTestCase
from holoviews.streams import CDSStream

try:
    from bokeh.models.widgets import (
         NumberEditor, NumberFormatter, DateFormatter,
        DateEditor, StringFormatter, StringEditor, IntEditor
    )
    from holoviews.plotting.bokeh.callbacks import CDSCallback
    from holoviews.plotting.bokeh.renderer import BokehRenderer
    bokeh_renderer = BokehRenderer.instance(mode='server')
except:
    bokeh_renderer = None


class TestBokehTablePlot(ComparisonTestCase):

    def setUp(self):
        self.previous_backend = Store.current_backend
        if not bokeh_renderer:
            raise SkipTest("Bokeh required to test plot instantiation")
        Store.current_backend = 'bokeh'

    def tearDown(self):
        Store.current_backend = self.previous_backend
        bokeh_renderer.last_plot = None
예제 #2
0
from holoviews.element import Points, Polygons, Box, Curve, Table
from holoviews.element.comparison import ComparisonTestCase
from holoviews.streams import (PointDraw, PolyDraw, PolyEdit, BoxEdit,
                               PointerXY, PointerX, PlotReset, Selection1D,
                               RangeXY, PlotSize, CDSStream, SingleTap)
import pyviz_comms as comms

try:
    from bokeh.events import Tap
    from bokeh.models import Range1d, Plot, ColumnDataSource, Selection, PolyEditTool
    from holoviews.plotting.bokeh.callbacks import (
        Callback, PointDrawCallback, PolyDrawCallback, PolyEditCallback,
        BoxEditCallback, Selection1DCallback, PointerXCallback, TapCallback
    )
    from holoviews.plotting.bokeh.renderer import BokehRenderer
    bokeh_server_renderer = BokehRenderer.instance(mode='server')
    bokeh_renderer = BokehRenderer.instance()
except:
    bokeh_renderer = None
    bokeh_server_renderer = None


class CallbackTestCase(ComparisonTestCase):

    def setUp(self):
        self.previous_backend = Store.current_backend
        Store.current_backend = 'bokeh'
        self.comm_manager = bokeh_renderer.comm_manager
        bokeh_renderer.comm_manager = comms.CommManager

    def tearDown(self):
예제 #3
0
from unittest import SkipTest

import numpy as np

from holoviews.element import Curve, Polygons, Table
from holoviews.element.comparison import ComparisonTestCase
from holoviews.plotting.links import (RangeToolLink, DataLink)

try:
    from holoviews.plotting.bokeh.renderer import BokehRenderer
    from holoviews.plotting.bokeh.util import bokeh_version
    from bokeh.models import ColumnDataSource
    bokeh_renderer = BokehRenderer.instance()
except:
    bokeh_renderer = None


class TestLinkCallbacks(ComparisonTestCase):
    def test_range_tool_link_callback_single_axis(self):
        if bokeh_version < '0.13':
            raise SkipTest('RangeTool requires bokeh version >= 0.13')
        from bokeh.models import RangeTool
        array = np.random.rand(100, 2)
        src = Curve(array)
        target = Curve(array)
        RangeToolLink(src, target)
        layout = target + src
        plot = bokeh_renderer.get_plot(layout)
        tgt_plot = plot.subplots[(0, 0)].subplots['main']
        src_plot = plot.subplots[(0, 1)].subplots['main']
        range_tool = src_plot.state.select_one({'type': RangeTool})