code: def get_data(self, element, ranges, style):
      # dimension labels
      dim_labels = element.dimensions(label=True)[:3]
      x, y, z = (dimension_sanitizer(d) for d in dim_labels)
      if self.invert_axes:
          x, y = y, x
  
      # color mapper
      cmapper = self._get_colormapper(
          element.vdims[0], element, ranges, style
      )
  
      # default CDS data mapping
      mapping = self.get_default_mapping(z, cmapper)
      if self.static_source:
          return {}, mapping, style
  
      # get raw values
      aggregate = element.gridded
      xvals = aggregate.dimension_values(x)
      yvals = aggregate.dimension_values(y)
      zvals = aggregate.dimension_values(2, flat=True)
  
      # get orders
      order_seg = aggregate.dimension_values(x, expanded=False)
      order_ann = aggregate.dimension_values(y, expanded=False)
  
      # pretty print if necessary
      xvals = self._pprint(element, x, xvals)
      yvals = self._pprint(element, y, yvals)
      order_seg = self._pprint(element, x, order_seg)
      order_ann = self._pprint(element, y, order_ann)
  
      # annular wedges
      bins_ann = self._get_bins("radius", order_ann)
      if len(bins_ann):
          inner_radius, outer_radius = self._get_bounds(bins_ann, yvals)
          data_text_ann = self._get_ann_labels_data(order_ann, bins_ann)
      else:
          inner_radius, outer_radius = [], []
          data_text_ann = dict(x=[], y=[], text=[], angle=[])
  
      bins_seg = self._get_bins("angle", order_seg, True)
      if len(bins_seg):
          start_angle, end_angle = self._get_bounds(bins_seg, xvals)
          data_text_seg = self._get_seg_labels_data(order_seg, bins_seg)
      else:
          start_angle, end_angle = [], []
          data_text_seg = dict(x=[], y=[], text=[], angle=[])
  
      # create ColumnDataSources
      data_annular = {
          "start_angle": start_angle,
          "end_angle": end_angle,
          "inner_radius": inner_radius,
          "outer_radius": outer_radius,
          z: zvals,
          x: xvals,
          y: yvals,
      }
  
      if "hover" in self.handles:
          for vdim in element.vdims:
              sanitized = dimension_sanitizer(vdim.name)
              values = [
                  "-" if is_nan(v) else vdim.pprint_value(v)
                  for v in aggregate.dimension_values(vdim)
              ]
              data_annular[sanitized] = values
  
      data_xmarks = self._get_xmarks_data(order_seg, bins_seg)
      data_ymarks = self._get_ymarks_data(order_ann, bins_ann)
  
      data = {
          "annular_wedge_1": data_annular,
          "text_1": data_text_seg,
          "text_2": data_text_ann,
          "multi_line_1": data_xmarks,
          "arc_1": data_ymarks,
      }
  
      return data, mapping, style
  
imports: import numpy
  import param
  from bokeh.models.glyphs import AnnularWedge
  from ...core.data import GridInterface
  from ...core.spaces import HoloMap
  from ...core.util import dimension_sanitizer, is_nan
  from .element import ColorbarPlot, CompositeElementPlot
  from .selection import BokehOverlaySelectionDisplay
  from .styles import base_properties, fill_properties, line_properties, text_properties
label_desc: Use image node_id 16 for calling the RadialHeatMapPlot obj's underlying member method code with example usage: obj.get_data(element, ranges, style) and returns: data,  mapping,  style, dict,  mapping,  style