예제 #1
0
 def test_spread_padding_logx(self):
     spread = Spread([(1, 1, 0.5), (2, 2, 0.5),
                      (3, 3, 0.5)]).options(padding=0.1, logx=True)
     plot = bokeh_renderer.get_plot(spread)
     x_range, y_range = plot.handles['x_range'], plot.handles['y_range']
     self.assertEqual(x_range.start, 0.89595845984076228)
     self.assertEqual(x_range.end, 3.3483695221017129)
     self.assertEqual(y_range.start, 0.19999999999999996)
     self.assertEqual(y_range.end, 3.8)
예제 #2
0
 def test_spread_padding_soft_range(self):
     spread = Spread([(1, 1, 0.5), (2, 2, 0.5), (3, 3, 0.5)
                      ]).redim.soft_range(y=(0, 3.5)).options(padding=0.1)
     plot = bokeh_renderer.get_plot(spread)
     x_range, y_range = plot.handles['x_range'], plot.handles['y_range']
     self.assertEqual(x_range.start, 0.8)
     self.assertEqual(x_range.end, 3.2)
     self.assertEqual(y_range.start, 0)
     self.assertEqual(y_range.end, 3.8)
예제 #3
0
 def test_spread_padding_nonsquare(self):
     spread = Spread([(1, 1, 0.5), (2, 2, 0.5),
                      (3, 3, 0.5)]).options(padding=0.1, width=600)
     plot = bokeh_renderer.get_plot(spread)
     x_range, y_range = plot.handles['x_range'], plot.handles['y_range']
     self.assertEqual(x_range.start, 0.9)
     self.assertEqual(x_range.end, 3.1)
     self.assertEqual(y_range.start, 0.19999999999999996)
     self.assertEqual(y_range.end, 3.8)
예제 #4
0
 def test_spread_padding_logy(self):
     spread = Spread([(1, 1, 0.5), (2, 2, 0.5),
                      (3, 3, 0.5)]).options(padding=0.1, logy=True)
     plot = bokeh_renderer.get_plot(spread)
     x_range, y_range = plot.handles['x_range'], plot.handles['y_range']
     self.assertEqual(x_range.start, 0.8)
     self.assertEqual(x_range.end, 3.2)
     self.assertEqual(y_range.start, 0.41158562699652224)
     self.assertEqual(y_range.end, 4.2518491541367327)
예제 #5
0
 def test_spread_with_nans(self):
     spread = Spread([(0, 0, 0, 1), (1, 0, 0, 2), (2, 0, 0, 3), (3, np.nan, np.nan, np.nan),
                      (4, 0, 0, 5), (5, 0, 0, 6), (6, 0, 0, 7)], vdims=['y', 'neg', 'pos'])
     plot = bokeh_renderer.get_plot(spread)
     cds = plot.handles['cds']
     self.assertEqual(cds.data['x'], np.array([0., 1., 2., 2., 1., 0., np.nan,
                                               4., 5., 6., 6., 5., 4.]))
     self.assertEqual(cds.data['y'], np.array([0., 0., 0., 3., 2., 1., np.nan,
                                               0., 0., 0., 7., 6., 5.]))
예제 #6
0
 def test_spread_fill_between_ys(self):
     spread = Spread([(0, 1, 0.5), (1, 2, 1), (2, 3, 2.25)],
                     vdims=['y', 'y2'])
     state = self._get_plot_state(spread)
     self.assertEqual(state['data'][0]['y'], np.array([0.5, 1, 0.75]))
     self.assertEqual(state['data'][0]['mode'], 'lines')
     self.assertEqual(state['data'][0].get('fill', None), None)
     self.assertEqual(state['data'][1]['y'], np.array([1.5, 3, 5.25]))
     self.assertEqual(state['data'][1]['mode'], 'lines')
     self.assertEqual(state['data'][1]['fill'], 'tonexty')
     self.assertEqual(state['layout']['yaxis']['range'], [0.5, 5.25])
예제 #7
0
 def test_spread_fill_between_xs(self):
     spread = Spread([(0, 1, 0.5), (1, 2, 1), (2, 3, 2.25)],
                     vdims=['y', 'y2']).options(invert_axes=True)
     state = self._get_plot_state(spread)
     self.assertEqual(state['data'][0]['x'], np.array([0.5, 1, 0.75]))
     self.assertEqual(state['data'][0]['mode'], 'lines')
     self.assertEqual(state['data'][0]['fill'], None)
     self.assertEqual(state['data'][1]['x'], np.array([1.5, 3, 5.25]))
     self.assertEqual(state['data'][1]['mode'], 'lines')
     self.assertEqual(state['data'][1]['fill'], 'tonextx')
     self.assertEqual(state['layout']['xaxis']['range'], [0.5, 5.25])
     self.assertEqual(state['layout']['yaxis']['range'], [0, 2])
예제 #8
0
 def test_spread_empty(self):
     spread = Spread([])
     plot = bokeh_renderer.get_plot(spread)
     cds = plot.handles['cds']
     self.assertEqual(cds.data['x'], [])
     self.assertEqual(cds.data['y'], [])
예제 #9
0
 def test_visible(self):
     element = Spread([(0, 1, 0.5), (1, 2, 1), (2, 3, 2.25)],
                      vdims=['y', 'y2']).options(visible=False)
     state = self._get_plot_state(element)
     self.assertEqual(state['data'][0]['visible'], False)