docstr: Construct a new Parcoords object
  
  Parallel coordinates for multidimensional exploratory data
  analysis. The samples are specified in `dimensions`. The colors
  are set in `line.color`.
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of :class:`plotly.graph_objs.Parcoords`
  customdata
      Assigns extra data each datum. This may be useful when
      listening to hover, click and selection events. Note
      that, "scatter" traces also appends customdata items in
      the markers DOM elements
  customdatasrc
      Sets the source reference on Chart Studio Cloud for
      customdata .
  dimensions
      The dimensions (variables) of the parallel coordinates
      chart. 2..60 dimensions are supported.
  dimensiondefaults
      When used in a template (as
      layout.template.data.parcoords.dimensiondefaults), sets
      the default property values to use for elements of
      parcoords.dimensions
  domain
      :class:`plotly.graph_objects.parcoords.Domain` instance
      or dict with compatible properties
  ids
      Assigns id labels to each datum. These ids for object
      constancy of data points during animation. Should be an
      array of strings, not numbers or any other type.
  idssrc
      Sets the source reference on Chart Studio Cloud for
      ids .
  labelangle
      Sets the angle of the labels with respect to the
      horizontal. For example, a `tickangle` of -90 draws the
      labels vertically. Tilted labels with "labelangle" may
      be positioned better inside margins when
      `labelposition` is set to "bottom".
  labelfont
      Sets the font for the `dimension` labels.
  labelside
      Specifies the location of the `label`. "top" positions
      labels above, next to the title "bottom" positions
      labels below the graph Tilted labels with "labelangle"
      may be positioned better inside margins when
      `labelposition` is set to "bottom".
  line
      :class:`plotly.graph_objects.parcoords.Line` instance
      or dict with compatible properties
  meta
      Assigns extra meta information associated with this
      trace that can be used in various text attributes.
      Attributes such as trace `name`, graph, axis and
      colorbar `title.text`, annotation `text`
      `rangeselector`, `updatemenues` and `sliders` `label`
      text all support `meta`. To access the trace `meta`
      values in an attribute in the same trace, simply use
      `%{meta[i]}` where `i` is the index or key of the
      `meta` item in question. To access trace `meta` in
      layout attributes, use `%{data[n[.meta[i]}` where `i`
      is the index or key of the `meta` and `n` is the trace
      index.
  metasrc
      Sets the source reference on Chart Studio Cloud for
      meta .
  name
      Sets the trace name. The trace name appear as the
      legend item and on hover.
  rangefont
      Sets the font for the `dimension` range values.
  stream
      :class:`plotly.graph_objects.parcoords.Stream` instance
      or dict with compatible properties
  tickfont
      Sets the font for the `dimension` tick values.
  uid
      Assign an id to this trace, Use this to provide object
      constancy between traces during animations and
      transitions.
  uirevision
      Controls persistence of some user-driven changes to the
      trace: `constraintrange` in `parcoords` traces, as well
      as some `editable: true` modifications such as `name`
      and `colorbar.title`. Defaults to `layout.uirevision`.
      Note that other user-driven trace attribute changes are
      controlled by `layout` attributes: `trace.visible` is
      controlled by `layout.legend.uirevision`,
      `selectedpoints` is controlled by
      `layout.selectionrevision`, and `colorbar.(x|y)`
      (accessible with `config: {editable: true}`) is
      controlled by `layout.editrevision`. Trace changes are
      tracked by `uid`, which only falls back on trace index
      if no `uid` is provided. So if your app can add/remove
      traces before the end of the `data` array, such that
      the same trace has a different index, you can still
      preserve user-driven changes if you give each trace a
      `uid` that stays with it as it moves.
  visible
      Determines whether or not this trace is visible. If
      "legendonly", the trace is not drawn, but can appear as
      a legend item (provided that the legend itself is
      visible).
  
  Returns
  -------
  Parcoords
docstr_tok: ["Construct","a","new","Parcoords","object","Parallel","coordinates","for","multidimensional","exploratory","data","analysis",".","The","samples","are","specified","in","`","dimensions","`",".","The","colors","are","set","in","`","line.color","`",".","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.Parcoords","`","customdata","Assigns","extra","data","each","datum",".","This","may","be","useful","when","listening","to","hover",",","click","and","selection","events",".","Note","that",",","``","scatter","''","traces","also","appends","customdata","items","in","the","markers","DOM","elements","customdatasrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","customdata",".","dimensions","The","dimensions","(","variables",")","of","the","parallel","coordinates","chart",".","2","..","60","dimensions","are","supported",".","dimensiondefaults","When","used","in","a","template","(","as","layout.template.data.parcoords.dimensiondefaults",")",",","sets","the","default","property","values","to","use","for","elements","of","parcoords.dimensions","domain",":","class",":","`","plotly.graph_objects.parcoords.Domain","`","instance","or","dict","with","compatible","properties","ids","Assigns","id","labels","to","each","datum",".","These","ids","for","object","constancy","of","data","points","during","animation",".","Should","be","an","array","of","strings",",","not","numbers","or","any","other","type",".","idssrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","ids",".","labelangle","Sets","the","angle","of","the","labels","with","respect","to","the","horizontal",".","For","example",",","a","`","tickangle","`","of","-90","draws","the","labels","vertically",".","Tilted","labels","with","``","labelangle","''","may","be","positioned","better","inside","margins","when","`","labelposition","`","is","set","to","``","bottom","''",".","labelfont","Sets","the","font","for","the","`","dimension","`","labels",".","labelside","Specifies","the","location","of","the","`","label","`",".","``","top","''","positions","labels","above",",","next","to","the","title","``","bottom","''","positions","labels","below","the","graph","Tilted","labels","with","``","labelangle","''","may","be","positioned","better","inside","margins","when","`","labelposition","`","is","set","to","``","bottom","''",".","line",":","class",":","`","plotly.graph_objects.parcoords.Line","`","instance","or","dict","with","compatible","properties","meta","Assigns","extra","meta","information","associated","with","this","trace","that","can","be","used","in","various","text","attributes",".","Attributes","such","as","trace","`","name","`",",","graph",",","axis","and","colorbar","`","title.text","`",",","annotation","`","text","`","`","rangeselector","`",",","`","updatemenues","`","and","`","sliders","`","`","label","`","text","all","support","`","meta","`",".","To","access","the","trace","`","meta","`","values","in","an","attribute","in","the","same","trace",",","simply","use","`","%","{","meta","[","i","]","}","`","where","`","i","`","is","the","index","or","key","of","the","`","meta","`","item","in","question",".","To","access","trace","`","meta","`","in","layout","attributes",",","use","`","%","{","data","[","n","[",".meta","[","i","]","}","`","where","`","i","`","is","the","index","or","key","of","the","`","meta","`","and","`","n","`","is","the","trace","index",".","metasrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","meta",".","name","Sets","the","trace","name",".","The","trace","name","appear","as","the","legend","item","and","on","hover",".","rangefont","Sets","the","font","for","the","`","dimension","`","range","values",".","stream",":","class",":","`","plotly.graph_objects.parcoords.Stream","`","instance","or","dict","with","compatible","properties","tickfont","Sets","the","font","for","the","`","dimension","`","tick","values",".","uid","Assign","an","id","to","this","trace",",","Use","this","to","provide","object","constancy","between","traces","during","animations","and","transitions",".","uirevision","Controls","persistence","of","some","user-driven","changes","to","the","trace",":","`","constraintrange","`","in","`","parcoords","`","traces",",","as","well","as","some","`","editable",":","true","`","modifications","such","as","`","name","`","and","`","colorbar.title","`",".","Defaults","to","`","layout.uirevision","`",".","Note","that","other","user-driven","trace","attribute","changes","are","controlled","by","`","layout","`","attributes",":","`","trace.visible","`","is","controlled","by","`","layout.legend.uirevision","`",",","`","selectedpoints","`","is","controlled","by","`","layout.selectionrevision","`",",","and","`","colorbar",".","(","x|y",")","`","(","accessible","with","`","config",":","{","editable",":","true","}","`",")","is","controlled","by","`","layout.editrevision","`",".","Trace","changes","are","tracked","by","`","uid","`",",","which","only","falls","back","on","trace","index","if","no","`","uid","`","is","provided",".","So","if","your","app","can","add\/remove","traces","before","the","end","of","the","`","data","`","array",",","such","that","the","same","trace","has","a","different","index",",","you","can","still","preserve","user-driven","changes","if","you","give","each","trace","a","`","uid","`","that","stays","with","it","as","it","moves",".","visible","Determines","whether","or","not","this","trace","is","visible",".","If","``","legendonly","''",",","the","trace","is","not","drawn",",","but","can","appear","as","a","legend","item","(","provided","that","the","legend","itself","is","visible",")",".","Returns","--","--","--","-","Parcoords"]
code: def __init__(
      self,
      arg=None,
      customdata=None,
      customdatasrc=None,
      dimensions=None,
      dimensiondefaults=None,
      domain=None,
      ids=None,
      idssrc=None,
      labelangle=None,
      labelfont=None,
      labelside=None,
      line=None,
      meta=None,
      metasrc=None,
      name=None,
      rangefont=None,
      stream=None,
      tickfont=None,
      uid=None,
      uirevision=None,
      visible=None,
      **kwargs,
  ):
      """
      Construct a new Parcoords object
  
      Parallel coordinates for multidimensional exploratory data
      analysis. The samples are specified in `dimensions`. The colors
      are set in `line.color`.
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of :class:`plotly.graph_objs.Parcoords`
      customdata
          Assigns extra data each datum. This may be useful when
          listening to hover, click and selection events. Note
          that, "scatter" traces also appends customdata items in
          the markers DOM elements
      customdatasrc
          Sets the source reference on Chart Studio Cloud for
          customdata .
      dimensions
          The dimensions (variables) of the parallel coordinates
          chart. 2..60 dimensions are supported.
      dimensiondefaults
          When used in a template (as
          layout.template.data.parcoords.dimensiondefaults), sets
          the default property values to use for elements of
          parcoords.dimensions
      domain
          :class:`plotly.graph_objects.parcoords.Domain` instance
          or dict with compatible properties
      ids
          Assigns id labels to each datum. These ids for object
          constancy of data points during animation. Should be an
          array of strings, not numbers or any other type.
      idssrc
          Sets the source reference on Chart Studio Cloud for
          ids .
      labelangle
          Sets the angle of the labels with respect to the
          horizontal. For example, a `tickangle` of -90 draws the
          labels vertically. Tilted labels with "labelangle" may
          be positioned better inside margins when
          `labelposition` is set to "bottom".
      labelfont
          Sets the font for the `dimension` labels.
      labelside
          Specifies the location of the `label`. "top" positions
          labels above, next to the title "bottom" positions
          labels below the graph Tilted labels with "labelangle"
          may be positioned better inside margins when
          `labelposition` is set to "bottom".
      line
          :class:`plotly.graph_objects.parcoords.Line` instance
          or dict with compatible properties
      meta
          Assigns extra meta information associated with this
          trace that can be used in various text attributes.
          Attributes such as trace `name`, graph, axis and
          colorbar `title.text`, annotation `text`
          `rangeselector`, `updatemenues` and `sliders` `label`
          text all support `meta`. To access the trace `meta`
          values in an attribute in the same trace, simply use
          `%{meta[i]}` where `i` is the index or key of the
          `meta` item in question. To access trace `meta` in
          layout attributes, use `%{data[n[.meta[i]}` where `i`
          is the index or key of the `meta` and `n` is the trace
          index.
      metasrc
          Sets the source reference on Chart Studio Cloud for
          meta .
      name
          Sets the trace name. The trace name appear as the
          legend item and on hover.
      rangefont
          Sets the font for the `dimension` range values.
      stream
          :class:`plotly.graph_objects.parcoords.Stream` instance
          or dict with compatible properties
      tickfont
          Sets the font for the `dimension` tick values.
      uid
          Assign an id to this trace, Use this to provide object
          constancy between traces during animations and
          transitions.
      uirevision
          Controls persistence of some user-driven changes to the
          trace: `constraintrange` in `parcoords` traces, as well
          as some `editable: true` modifications such as `name`
          and `colorbar.title`. Defaults to `layout.uirevision`.
          Note that other user-driven trace attribute changes are
          controlled by `layout` attributes: `trace.visible` is
          controlled by `layout.legend.uirevision`,
          `selectedpoints` is controlled by
          `layout.selectionrevision`, and `colorbar.(x|y)`
          (accessible with `config: {editable: true}`) is
          controlled by `layout.editrevision`. Trace changes are
          tracked by `uid`, which only falls back on trace index
          if no `uid` is provided. So if your app can add/remove
          traces before the end of the `data` array, such that
          the same trace has a different index, you can still
          preserve user-driven changes if you give each trace a
          `uid` that stays with it as it moves.
      visible
          Determines whether or not this trace is visible. If
          "legendonly", the trace is not drawn, but can appear as
          a legend item (provided that the legend itself is
          visible).
  
      Returns
      -------
      Parcoords
      """
      super(Parcoords, self).__init__("parcoords")
  
      if "_parent" in kwargs:
          self._parent = kwargs["_parent"]
          return
  
      # Validate arg
      # ------------
      if arg is None:
          arg = {}
      elif isinstance(arg, self.__class__):
          arg = arg.to_plotly_json()
      elif isinstance(arg, dict):
          arg = _copy.copy(arg)
      else:
          raise ValueError(
              """\
  The first argument to the plotly.graph_objs.Parcoords 
  constructor must be a dict or 
  an instance of :class:`plotly.graph_objs.Parcoords`"""
          )
  
      # Handle skip_invalid
      # -------------------
      self._skip_invalid = kwargs.pop("skip_invalid", False)
      self._validate = kwargs.pop("_validate", True)
  
      # Populate data dict with properties
      # ----------------------------------
      _v = arg.pop("customdata", None)
      _v = customdata if customdata is not None else _v
      if _v is not None:
          self["customdata"] = _v
      _v = arg.pop("customdatasrc", None)
      _v = customdatasrc if customdatasrc is not None else _v
      if _v is not None:
          self["customdatasrc"] = _v
      _v = arg.pop("dimensions", None)
      _v = dimensions if dimensions is not None else _v
      if _v is not None:
          self["dimensions"] = _v
      _v = arg.pop("dimensiondefaults", None)
      _v = dimensiondefaults if dimensiondefaults is not None else _v
      if _v is not None:
          self["dimensiondefaults"] = _v
      _v = arg.pop("domain", None)
      _v = domain if domain is not None else _v
      if _v is not None:
          self["domain"] = _v
      _v = arg.pop("ids", None)
      _v = ids if ids is not None else _v
      if _v is not None:
          self["ids"] = _v
      _v = arg.pop("idssrc", None)
      _v = idssrc if idssrc is not None else _v
      if _v is not None:
          self["idssrc"] = _v
      _v = arg.pop("labelangle", None)
      _v = labelangle if labelangle is not None else _v
      if _v is not None:
          self["labelangle"] = _v
      _v = arg.pop("labelfont", None)
      _v = labelfont if labelfont is not None else _v
      if _v is not None:
          self["labelfont"] = _v
      _v = arg.pop("labelside", None)
      _v = labelside if labelside is not None else _v
      if _v is not None:
          self["labelside"] = _v
      _v = arg.pop("line", None)
      _v = line if line is not None else _v
      if _v is not None:
          self["line"] = _v
      _v = arg.pop("meta", None)
      _v = meta if meta is not None else _v
      if _v is not None:
          self["meta"] = _v
      _v = arg.pop("metasrc", None)
      _v = metasrc if metasrc is not None else _v
      if _v is not None:
          self["metasrc"] = _v
      _v = arg.pop("name", None)
      _v = name if name is not None else _v
      if _v is not None:
          self["name"] = _v
      _v = arg.pop("rangefont", None)
      _v = rangefont if rangefont is not None else _v
      if _v is not None:
          self["rangefont"] = _v
      _v = arg.pop("stream", None)
      _v = stream if stream is not None else _v
      if _v is not None:
          self["stream"] = _v
      _v = arg.pop("tickfont", None)
      _v = tickfont if tickfont is not None else _v
      if _v is not None:
          self["tickfont"] = _v
      _v = arg.pop("uid", None)
      _v = uid if uid is not None else _v
      if _v is not None:
          self["uid"] = _v
      _v = arg.pop("uirevision", None)
      _v = uirevision if uirevision is not None else _v
      if _v is not None:
          self["uirevision"] = _v
      _v = arg.pop("visible", None)
      _v = visible if visible is not None else _v
      if _v is not None:
          self["visible"] = _v
  
      # Read-only literals
      # ------------------
  
      self._props["type"] = "parcoords"
      arg.pop("type", None)
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
imports: from plotly.basedatatypes import BaseTraceType
  import copy
label_desc: Use image node_id 43 to create a new Parcoords object from inherited base classes: _BaseTraceType with example: obj = Parcoords(arg, customdata, customdatasrc, dimensions, dimensiondefaults, domain, ids, idssrc, labelangle, labelfont, labelside, line, meta, metasrc, name, rangefont, stream, tickfont, uid, uirevision, visible)