class_docstr: Series/Frames plotting accessor and method.
  
  Uses the backend specified by the
  option ``plotting.backend``. By default, plotly is used.
  
  Plotting methods can also be accessed by calling the accessor as a method
  with the ``kind`` argument:
  ``s.plot(kind='hist')`` is equivalent to ``s.plot.hist()``
code: def __call__(self, kind="line", backend=None, **kwargs):
      plot_backend = PandasOnSparkPlotAccessor._get_plot_backend(
          backend
      )
      plot_data = self.data
  
      kind = {"density": "kde"}.get(kind, kind)
      if hasattr(plot_backend, "plot_pandas_on_spark"):
          # use if there's pandas-on-Spark specific method.
          return plot_backend.plot_pandas_on_spark(
              plot_data, kind=kind, **kwargs
          )
      else:
          # fallback to use pandas'
          if not PandasOnSparkPlotAccessor.pandas_plot_data_map[kind]:
              raise NotImplementedError(
                  "'%s' plot is not supported with '%s' plot "
                  "backend yet." % (kind, plot_backend.__name__)
              )
          plot_data = PandasOnSparkPlotAccessor.pandas_plot_data_map[
              kind
          ](plot_data)
          return plot_backend.plot(plot_data, kind=kind, **kwargs)
  
imports: import importlib
  import pandas
  import numpy
  from pandas.core.base import PandasObject
  from pandas.core.dtypes.inference import is_integer
  from pyspark.ml.feature import Bucketizer
  from pyspark.mllib.stat import KernelDensity
  from pyspark.sql import functions
  from pyspark.pandas.missing import unsupported_function
  from pyspark.pandas.config import get_option
  from pyspark.pandas.utils import name_like_string
label_desc: Use image node_id 4 for calling the PandasOnSparkPlotAccessor obj's underlying member method code with example usage: obj.__call__(kind, backend) and returns: plot_backend, plot_backend