class_docstr: Object that can be rendered by HiPlot. It essential contains a list of metrics, but also some options on how to render it.
  
  See :meth:`Experiment.display` to display an :class:`Experiment` in an ipython notebook.
  
  :ivar datapoints: All the measurements we have. One datapoint corresponds to one line in the parallel plot and to one line in the table.
  :ivar parameters_definition: Characteristics of the columns (ordering, type, etc...)
  :ivar colormap: Colormap to use
  :ivar colorby: Default column to color by
  :ivar weightcolumn: If rows have different weights, use this column as the weight (default to 1 if not specified)
  :ivar enabledDisplays: Ordered displays to enable (by default all are enabled)
  
  :Example:
  
  .. code-block:: python
  
      import hiplot as hip
      data = [{'param': 1, 'loss': 10, 'hidden_field': 'value1', 'c': 'red'},
          {'param': 2, 'loss': 5, 'hidden_field': 'value2', 'c': 'black'}]
      exp = hip.Experiment.from_iterable(data)
code: def __init__(
      self,
      datapoints: tp.Optional[tp.List[Datapoint]] = None,
      parameters_definition: tp.Optional[tp.Dict[str, ValueDef]] = None,
      colormap: tp.Optional[str] = None,
  ) -> None:
      self.datapoints = datapoints if datapoints is not None else []
      self.parameters_definition = (
          parameters_definition
          if parameters_definition is not None
          else defaultdict(ValueDef)
      )
      self.colormap = (
          colormap if colormap is not None else "interpolateTurbo"
      )
      self.colorby: tp.Optional[str] = None
      self.weightcolumn: tp.Optional[str] = None
      self.enabledDisplays: tp.List[str] = [
          Displays.PARALLEL_PLOT,
          Displays.XY,
          Displays.DISTRIBUTION,
          Displays.TABLE,
      ]
      self._display_data: tp.Dict[str, tp.Dict[str, tp.Any]] = {}
      self._compress: bool = False
  
imports: import csv
  import uuid
  import json
  import codecs
  import warnings
  from abc import ABCMeta, abstractmethod
  from enum import Enum
  from collections import defaultdict
  from pathlib import Path
  import typing
label_desc: Use image node_id 1 to create a new Experiment object from inherited base classes: _DictSerializable with example: obj = Experiment(datapoints, parameters_definition, colormap)