code: def __call__(self, kind="line", session=None, **kwargs):
      to_executes = OrderedDict()
      to_executes["__object__"] = self._obj
  
      for k, v in kwargs.items():
          if isinstance(v, ENTITY_TYPE):
              to_executes[k] = v
  
      result = dict()
      executed = ExecutableTuple(to_executes.values()).execute().fetch()
      for p, v in zip(to_executes, executed):
          result[p] = v
  
      data = result.pop("__object__")
      pd_kwargs = kwargs.copy()
      pd_kwargs["kind"] = kind
      pd_kwargs.update(result)
  
      return data.plot(**pd_kwargs)
  
file_path: mars/mars/dataframe/plotting/core.py
imports: from collections import OrderedDict
  import pandas
  from ...core import ENTITY_TYPE, ExecutableTuple
  from ...utils import adapt_mars_docstring
label_desc: Use image node_id 2 for calling the PlotAccessor obj's underlying member method code with example usage: obj.__call__(kind, session) and returns: data