Пример #1
0
    def _update_plot(self, plot, pane):
        from holoviews.core.util import cross_index, wrap_tuple_streams

        widgets = self.widget_box.objects
        if not widgets:
            return
        elif self.widget_type == 'scrubber':
            key = cross_index([v for v in self._values.values()], widgets[0].value)
        else:
            key = tuple(w.value for w in widgets)
            if plot.dynamic:
                widget_dims = [w.name for w in widgets]
                key = [key[widget_dims.index(kdim)] if kdim in widget_dims else None
                       for kdim in plot.dimensions]
                key = wrap_tuple_streams(tuple(key), plot.dimensions, plot.streams)

        if plot.backend == 'bokeh':
            if plot.comm or state._unblocked(plot.document):
                with unlocked():
                    plot.update(key)
                if plot.comm and 'embedded' not in plot.root.tags:
                    plot.push()
            else:
                if plot.document.session_context:
                    plot.document.add_next_tick_callback(partial(plot.update, key))
                else:
                    plot.update(key)
        else:
            plot.update(key)
            if hasattr(plot.renderer, 'get_plot_state'):
                pane.object = plot.renderer.get_plot_state(plot)
            else:
                # Compatibility with holoviews<1.13.0
                pane.object = plot.state
Пример #2
0
 def test_no_streams_two_stream_substitution(self):
     result = wrap_tuple_streams(
         (None, None), [Dimension('x'), Dimension('y')],
         [PointerXY(x=0, y=5)])
     self.assertEqual(result, (0, 5))
Пример #3
0
 def test_no_streams_none_value(self):
     result = wrap_tuple_streams(
         (1, None), [Dimension('x'), Dimension('y')], [])
     self.assertEqual(result, (1, None))
Пример #4
0
 def test_no_streams_one_stream_substitution(self):
     result = wrap_tuple_streams(
         (None, 3), [Dimension('x'), Dimension('y')],
         [PointerXY(x=-5, y=10)])
     self.assertEqual(result, (-5, 3))
Пример #5
0
 def test_no_streams(self):
     result = wrap_tuple_streams((1, 2), [], [])
     self.assertEqual(result, (1, 2))
Пример #6
0
 def test_no_streams_two_kdims(self):
     result = wrap_tuple_streams(
         (1, 2), [Dimension('x'), Dimension('y')], [])
     self.assertEqual(result, (1, 2))
Пример #7
0
 def test_no_streams_two_stream_substitution(self):
     result = wrap_tuple_streams((None,None),
                                 [Dimension('x'), Dimension('y')],
                                 [PointerXY(x=0,y=5)])
     self.assertEqual(result, (0,5))
Пример #8
0
 def test_no_streams_one_stream_substitution(self):
     result = wrap_tuple_streams((None,3),
                                 [Dimension('x'), Dimension('y')],
                                 [PointerXY(x=-5,y=10)])
     self.assertEqual(result, (-5,3))
Пример #9
0
 def test_no_streams_none_value(self):
     result = wrap_tuple_streams((1,None),
                                 [Dimension('x'), Dimension('y')],
                                 [])
     self.assertEqual(result, (1,None))
Пример #10
0
 def test_no_streams_two_kdims(self):
     result = wrap_tuple_streams((1,2),
                                 [Dimension('x'), Dimension('y')],
                                 [])
     self.assertEqual(result, (1,2))
Пример #11
0
 def test_no_streams(self):
     result = wrap_tuple_streams((1,2), [],[])
     self.assertEqual(result, (1,2))