class_docstr: Class for printing other information related to an object that is
  of use to the user.
class_docstr_tok: ["Class","for","printing","other","information","related","to","an","object","that","is","of","use","to","the","user","."]
code: def options_info(cls, plot_class, ansi=False, pattern=None):
      if plot_class.style_opts:
          backend_name = plot_class.backend
          style_info = f"\n(Consult {backend_name}'s documentation for more information.)"
          style_keywords = f"\t{', '.join(plot_class.style_opts)}"
          style_msg = f"{style_keywords}\n{style_info}"
      else:
          style_msg = "\t<No style options available>"
  
      param_info = cls.get_parameter_info(
          plot_class, ansi=ansi, pattern=pattern
      )
      lines = [
          cls.heading("Style Options", ansi=ansi, char="-"),
          "",
          style_msg,
          "",
          cls.heading("Plot Options", ansi=ansi, char="-"),
          "",
      ]
      if param_info is not None:
          lines += [
              "The plot options are the parameters of the plotting class:\n",
              param_info,
          ]
      elif pattern is not None:
          lines += [
              f"No {plot_class.__name__!r} parameters found matching specified pattern {pattern!r}."
          ]
      else:
          lines += [f"No {plot_class.__name__!r} parameters found."]
  
      return "\n".join(lines)
  
imports: import re
  import textwrap
  import param
  from param.ipython import ParamPager
  from param.parameterized import bothmethod
  from .util import group_sanitizer, label_sanitizer
label_desc: Use image node_id 8 for calling the InfoPrinter obj's underlying member method code with example usage: obj.options_info(cls, plot_class, ansi, pattern) and returns: str