Пример #1
0
 def test_element_zformatter_instance(self):
     formatter = PercentFormatter()
     curve = Scatter3D([]).options(zformatter=formatter)
     plot = mpl_renderer.get_plot(curve)
     zaxis = plot.handles['axis'].zaxis
     zformatter = zaxis.get_major_formatter()
     self.assertIs(zformatter, formatter)
Пример #2
0
 def test_element_zformatter_string(self):
     curve = Scatter3D([]).options(zformatter='%d')
     plot = mpl_renderer.get_plot(curve)
     zaxis = plot.handles['axis'].zaxis
     zformatter = zaxis.get_major_formatter()
     self.assertIsInstance(zformatter, FormatStrFormatter)
     self.assertEqual(zformatter.fmt, '%d')
Пример #3
0
 def test_element_zformatter_function(self):
     def formatter(value):
         return str(value) + ' %'
     curve = Scatter3D([]).options(zformatter=formatter)
     plot = mpl_renderer.get_plot(curve)
     zaxis = plot.handles['axis'].zaxis
     zformatter = zaxis.get_major_formatter()
     self.assertIsInstance(zformatter, FuncFormatter)
Пример #4
0
 def test_scatter3d_state(self):
     scatter = Scatter3D(([0, 1], [2, 3], [4, 5]))
     state = self._get_plot_state(scatter)
     self.assertEqual(state['data'][0]['x'], np.array([0, 1]))
     self.assertEqual(state['data'][0]['y'], np.array([2, 3]))
     self.assertEqual(state['data'][0]['z'], np.array([4, 5]))
     self.assertEqual(state['layout']['scene']['xaxis']['range'], [0, 1])
     self.assertEqual(state['layout']['scene']['yaxis']['range'], [2, 3])
     self.assertEqual(state['layout']['scene']['zaxis']['range'], [4, 5])
Пример #5
0
 def test_element_plot_zticks_items(self):
     scatter = Scatter3D([
         (0, 1, 10), (1, 2, 100), (2, 3, 1000)
     ]).options(zticks=[(0, 'A'), (500, 'B'), (1000, 'C')])
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['tickvals'],
                      (0, 500, 1000))
     self.assertEqual(state['layout']['scene']['zaxis']['ticktext'],
                      ['A', 'B', 'C'])
Пример #6
0
 def test_element_plot3d_padding(self):
     scatter = Scatter3D([(0, 1, 2), (1, 2, 3),
                          (2, 3, 5)]).options(padding=0.1)
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['xaxis']['range'],
                      [-0.2, 2.2])
     self.assertEqual(state['layout']['scene']['yaxis']['range'],
                      [0.8, 3.2])
     self.assertEqual(state['layout']['scene']['zaxis']['range'],
                      [1.7, 5.3])
 def test_scatter3d_padding_logz(self):
     scatter3d = Scatter3D([(0, 1, 2), (1, 2, 3),
                            (2, 3, 4)]).options(padding=0.1, logz=True)
     plot = mpl_renderer.get_plot(scatter3d)
     x_range, y_range = plot.handles['axis'].get_xlim(
     ), plot.handles['axis'].get_ylim()
     z_range = plot.handles['axis'].get_zlim()
     self.assertEqual(x_range[0], -0.2)
     self.assertEqual(x_range[1], 2.2)
     self.assertEqual(y_range[0], 0.8)
     self.assertEqual(y_range[1], 3.2)
     self.assertEqual(z_range[0], 1.8660659830736146)
     self.assertEqual(z_range[1], 4.2870938501451725)
 def test_scatter3d_padding_nonsquare(self):
     scatter3d = Scatter3D([(0, 1, 2), (1, 2, 3),
                            (2, 3, 4)]).options(padding=0.1, aspect=2)
     plot = mpl_renderer.get_plot(scatter3d)
     x_range, y_range = plot.handles['axis'].get_xlim(
     ), plot.handles['axis'].get_ylim()
     z_range = plot.handles['axis'].get_zlim()
     self.assertEqual(x_range[0], -0.1)
     self.assertEqual(x_range[1], 2.1)
     self.assertEqual(y_range[0], 0.8)
     self.assertEqual(y_range[1], 3.2)
     self.assertEqual(z_range[0], 1.8)
     self.assertEqual(z_range[1], 4.2)
 def test_scatter3d_padding_hard_zrange(self):
     scatter3d = Scatter3D([(0, 1, 2), (1, 2, 3), (2, 3, 4)
                            ]).redim.range(z=(0, 3)).options(padding=0.1)
     plot = mpl_renderer.get_plot(scatter3d)
     x_range, y_range = plot.handles['axis'].get_xlim(
     ), plot.handles['axis'].get_ylim()
     z_range = plot.handles['axis'].get_zlim()
     self.assertEqual(x_range[0], -0.2)
     self.assertEqual(x_range[1], 2.2)
     self.assertEqual(y_range[0], 0.8)
     self.assertEqual(y_range[1], 3.2)
     self.assertEqual(z_range[0], 0)
     self.assertEqual(z_range[1], 3)
 def test_curve_padding_square_per_axis(self):
     curve = Scatter3D([
         (0, 1, 2), (1, 2, 3), (2, 3, 4)
     ]).options(padding=((0, 0.1), (0.1, 0.2), (0.2, 0.3)))
     plot = mpl_renderer.get_plot(curve)
     x_range, y_range = plot.handles['axis'].get_xlim(
     ), plot.handles['axis'].get_ylim()
     z_range = plot.handles['axis'].get_zlim()
     self.assertEqual(x_range[0], 0)
     self.assertEqual(x_range[1], 2.2)
     self.assertEqual(y_range[0], 0.8)
     self.assertEqual(y_range[1], 3.4)
     self.assertEqual(z_range[0], 1.6)
     self.assertEqual(z_range[1], 4.6)
Пример #11
0
 def test_element_plot_zlim(self):
     scatter = Scatter3D([(10, 1, 2), (100, 2, 3),
                          (1000, 3, 5)]).options(zlim=(1, 6))
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['range'], [1, 6])
Пример #12
0
 def test_visible(self):
     element = Scatter3D(([0, 1], [2, 3], [4, 5])).options(visible=False)
     state = self._get_plot_state(element)
     self.assertEqual(state['data'][0]['visible'], False)
Пример #13
0
 def test_scatter3d_size(self):
     scatter = Scatter3D(([0, 1], [2, 3], [4, 5])).options(size='y')
     state = self._get_plot_state(scatter)
     self.assertEqual(state['data'][0]['marker']['size'], np.array([2, 3]))
Пример #14
0
 def test_scatter3d_color_mapped(self):
     scatter = Scatter3D(([0, 1], [2, 3], [4, 5])).options(color='y')
     state = self._get_plot_state(scatter)
     self.assertEqual(state['data'][0]['marker']['color'], np.array([2, 3]))
     self.assertEqual(state['data'][0]['marker']['cmin'], 2)
     self.assertEqual(state['data'][0]['marker']['cmax'], 3)
Пример #15
0
 def test_element_plot_zpadding(self):
     scatter = Scatter3D([(10, 1, 2), (100, 2, 3),
                          (1000, 3, 5)]).options(padding=(0, 0, 0.1))
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['range'],
                      [1.7, 5.3])
Пример #16
0
 def test_element_plot_zrange(self):
     scatter = Scatter3D([(10, 1, 2), (100, 2, 3), (1000, 3, 5)])
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['range'], [2, 5])
Пример #17
0
 def test_element_plot_zlabel(self):
     scatter = Scatter3D([(10, 1, 2), (100, 2, 3),
                          (1000, 3, 5)]).options(zlabel='Z-Axis')
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['title'], 'Z-Axis')
Пример #18
0
 def test_overlay_plot_logz(self):
     scatter = (Scatter3D([(0, 1, 10), (1, 2, 100),
                           (2, 3, 1000)]) * Path3D([])).options(logz=True)
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['type'], 'log')
Пример #19
0
 def test_element_plot_zticks_values(self):
     scatter = Scatter3D([(0, 1, 10), (1, 2, 100),
                          (2, 3, 1000)]).options(zticks=[0, 500, 1000])
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['tickvals'],
                      [0, 500, 1000])
Пример #20
0
 def test_element_plot_invert_zaxis(self):
     scatter = Scatter3D([(10, 1, 2), (100, 2, 3),
                          (1000, 3, 5)]).options(invert_zaxis=True)
     state = self._get_plot_state(scatter)
     self.assertEqual(state['layout']['scene']['zaxis']['range'], [5, 2])
Пример #21
0
 def test_scatter3d_colorbar_label(self):
     scatter3d = Scatter3D([(0, 1, 2), (1, 2, 3),
                            (2, 3, 4)]).options(color='z', colorbar=True)
     plot = mpl_renderer.get_plot(scatter3d)
     assert plot.handles['cax'].get_ylabel() == 'z'