class_docstr: CompositeOverlay provides a common baseclass for Overlay classes.
docstr: Return the values along the requested dimension.
  
  Args:
      dimension: The dimension to return values for
      expanded (bool, optional): Whether to expand values
          Whether to return the expanded values, behavior depends
          on the type of data:
            * Columnar: If false returns unique values
            * Geometry: If false returns scalar values per geometry
            * Gridded: If false returns 1D coordinates
      flat (bool, optional): Whether to flatten array
  
  Returns:
      NumPy array of values along the requested dimension
docstr_tok: ["Return","the","values","along","the","requested","dimension",".","Args",":","dimension",":","The","dimension","to","return","values","for","expanded","(","bool",",","optional",")",":","Whether","to","expand","values","Whether","to","return","the","expanded","values",",","behavior","depends","on","the","type","of","data",":","*","Columnar",":","If","false","returns","unique","values","*","Geometry",":","If","false","returns","scalar","values","per","geometry","*","Gridded",":","If","false","returns","1D","coordinates","flat","(","bool",",","optional",")",":","Whether","to","flatten","array","Returns",":","NumPy","array","of","values","along","the","requested","dimension"]
code: def dimension_values(self, dimension, expanded=True, flat=True):
      """Return the values along the requested dimension.
  
      Args:
          dimension: The dimension to return values for
          expanded (bool, optional): Whether to expand values
              Whether to return the expanded values, behavior depends
              on the type of data:
                * Columnar: If false returns unique values
                * Geometry: If false returns scalar values per geometry
                * Gridded: If false returns 1D coordinates
          flat (bool, optional): Whether to flatten array
  
      Returns:
          NumPy array of values along the requested dimension
      """
      values = []
      found = False
      for el in self:
          if dimension in el.dimensions(label=True):
              values.append(el.dimension_values(dimension))
              found = True
      if not found:
          return super().dimension_values(dimension, expanded, flat)
      values = [v for v in values if v is not None and len(v)]
      if not values:
          return np.array()
      vals = np.concatenate(values)
      return vals if expanded else unique_array(vals)
  
imports: from functools import reduce
  import numpy
  import param
  from .dimension import Dimension, Dimensioned, ViewableElement, ViewableTree
  from .layout import AdjointLayout, Composable, Layout, Layoutable
  from .ndmapping import UniformNdMapping
  from .util import dimensioned_streams, sanitize_identifier, unique_array
label_desc: Use image node_id 2 for calling the CompositeOverlay obj's underlying member method code with example usage: obj.dimension_values(dimension, expanded, flat) and returns: unknown, super, np