code: def test_rgb(self):
      rgb_data = np.random.rand(10, 10, 3)
      rgb = RGB(rgb_data)
      fig_dict = plotly_renderer.get_plot_state(rgb)
      x_range = fig_dict["layout"]["xaxis"]["range"]
      self.assertEqual(x_range[0], -0.5)
      self.assertEqual(x_range[1], 0.5)
  
      y_range = fig_dict["layout"]["yaxis"]["range"]
      self.assertEqual(y_range[0], -0.5)
      self.assertEqual(y_range[1], 0.5)
  
      # Check layout.image object
      images = fig_dict["layout"]["images"]
      self.assertEqual(len(images), 1)
      image = images[0]
  
      # Check location properties
      self.assert_property_values(
          image,
          {
              "xref": "x",
              "yref": "y",
              "x": -0.5,
              "y": 0.5,
              "sizex": 1.0,
              "sizey": 1.0,
              "sizing": "stretch",
              "layer": "above",
          },
      )
  
      # Check image itself
      pil_img = self.rgb_element_to_pil_img(rgb.data)
      expected_source = go.layout.Image(source=pil_img).source
      self.assertEqual(image["source"], expected_source)
  
file_path: holoviews/holoviews/tests/plotting/plotly/test_rgb.py
imports: import numpy
  import PIL.Image
  import plotly.graph_objs
  from holoviews.element import RGB, Tiles
  from .test_plot import TestPlotlyPlot, plotly_renderer
label_desc: Use image node_id 2 for calling the TestRGBPlot obj's underlying member method code with example usage: obj.test_rgb() without return types