class_docstr: The Contours element is a subtype of a Path which is characterized
  by the fact that each path geometry may only be associated with
  scalar values. It supports all the same data formats as a `Path`
  but does not allow continuously varying values along the path
  geometry's coordinates. Conceptually Contours therefore represent
  iso-contours or isoclines, i.e. a function of two variables which
  describes a curve along which the function has a constant value.
  
  The canonical representation is a list of dictionaries storing the
  x- and y-coordinates along with any other (scalar) values:
  
      [{'x': 1d-array, 'y': 1d-array, 'value': scalar}, ...]
  
  Alternatively Contours also supports a single columnar
  data-structure to specify an individual contour:
  
      {'x': 1d-array, 'y': 1d-array, 'value': scalar, 'continuous': 1d-array}
  
  Since not all formats allow storing scalar values as actual
  scalars arrays which are the same length as the coordinates but
  have only one unique value are also considered scalar. This is
  strictly enforced, ensuring that each path geometry represents
  a valid iso-contour.
  
  The easiest way of accessing the individual geometries is using
  the `Contours.split` method, which returns each path geometry as a
  separate entity, while the other methods assume a flattened
  representation where all paths are separated by NaN values.
class_docstr_tok: ["The","Contours","element","is","a","subtype","of","a","Path","which","is","characterized","by","the","fact","that","each","path","geometry","may","only","be","associated","with","scalar","values",".","It","supports","all","the","same","data","formats","as","a","`","Path","`","but","does","not","allow","continuously","varying","values","along","the","path","geometry","'s","coordinates",".","Conceptually","Contours","therefore","represent","iso-contours","or","isoclines",",","i.e",".","a","function","of","two","variables","which","describes","a","curve","along","which","the","function","has","a","constant","value",".","The","canonical","representation","is","a","list","of","dictionaries","storing","the","x-","and","y-coordinates","along","with","any","other","(","scalar",")","values",":","[","{","'","x","'",":","1d-array",",","'","y","'",":","1d-array",",","'value","'",":","scalar","}",",","...","]","Alternatively","Contours","also","supports","a","single","columnar","data-structure","to","specify","an","individual","contour",":","{","'","x","'",":","1d-array",",","'","y","'",":","1d-array",",","'value","'",":","scalar",",","'continuous","'",":","1d-array","}","Since","not","all","formats","allow","storing","scalar","values","as","actual","scalars","arrays","which","are","the","same","length","as","the","coordinates","but","have","only","one","unique","value","are","also","considered","scalar",".","This","is","strictly","enforced",",","ensuring","that","each","path","geometry","represents","a","valid","iso-contour",".","The","easiest","way","of","accessing","the","individual","geometries","is","using","the","`","Contours.split","`","method",",","which","returns","each","path","geometry","as","a","separate","entity",",","while","the","other","methods","assume","a","flattened","representation","where","all","paths","are","separated","by","NaN","values","."]
code: def __init__(self, data, kdims=None, vdims=None, **params):
      data = [] if data is None else data
      super().__init__(data, kdims=kdims, vdims=vdims, **params)
  
imports: import numpy
  import param
  from ..core import Dataset
  from ..core.data import MultiInterface
  from ..core.dimension import Dimension
  from .geom import Geometry
  from .selection import SelectionPolyExpr
label_desc: Use image node_id 1 to create a new Contours object from inherited base classes: Path with example: obj = Contours(data, kdims, vdims)