code: def test_scatter3d_padding_hard_zrange(self):
      scatter3d = (
          Scatter3D([(0, 1, 2), (1, 2, 3), (2, 3, 4)])
          .redim.range(z=(0, 3))
          .opts(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)
  
file_path: holoviews/holoviews/tests/plotting/matplotlib/test_scatter3d.py
imports: from holoviews.element import Scatter3D
  from .test_plot import TestMPLPlot, mpl_renderer
label_desc: Use image node_id 4 for calling the TestPointPlot obj's underlying member method code with example usage: obj.test_scatter3d_padding_hard_zrange() without return types