docs: def plot(self, data):
      """ Plots an overview in a list of dataframes
  
      Args:
        data: a dictionary with key the name, and value the dataframe.
      """
  
      import IPython
  
      if not isinstance(data, dict) or not all(isinstance(v, pd.DataFrame) for v in data.values()):
        raise ValueError('Expect a dictionary where the values are all dataframes.')
  
      gfsg = GenericFeatureStatisticsGenerator()
      data = [{'name': k, 'table': self._remove_nonascii(v)} for k, v in six.iteritems(data)]
      data_proto = gfsg.ProtoFromDataFrames(data)
      protostr = base64.b64encode(data_proto.SerializeToString()).decode("utf-8")
      html_id = 'f' + datalab.utils.commands.Html.next_id()
  
      HTML_TEMPLATE = """<link rel="import" href="/nbextensions/gcpdatalab/extern/facets-jupyter.html" >
          <facets-overview id="{html_id}"></facets-overview>
          <script>
            document.querySelector("#{html_id}").protoInput = "{protostr}";
          </script>"""
      html = HTML_TEMPLATE.format(html_id=html_id, protostr=protostr)
      return IPython.core.display.HTML(html)