code: def _get_hover_data(self, data, element, dimensions=None):
          
          if 'hover' not in self.handles or self.static_source:
              return
  
          for d in (dimensions or element.dimensions()):
              dim = util.dimension_sanitizer(d.name)
              if dim not in data:
                  data[dim] = element.dimension_values(d)
              values = np.asarray(data[dim])
              if (values.dtype.kind == 'M' or (
                      len(values) and isinstance(values[0], util.datetime_types))):
                  data[dim+'_dt_strings'] = [d.pprint_value(v) for v in values]
  
          for k, v in self.overlay_dims.items():
              dim = util.dimension_sanitizer(k.name)
              if dim not in data:
                  data[dim] = [v for _ in range(len(list(data.values())[0]))]
docs: Initializes hover data based on Element dimension values.
          If empty initializes with no data.