class_docstr: Visualizations specific to Method of Morris.
docstr: Provides interactive visualizations.
  
  Args:
      key: Either a scalar or list
          that indexes the internal object for sub-plotting.
          If an overall visualization is requested, pass None.
  
  Returns:
      HTML as a string.
docstr_tok: ["Provides","interactive","visualizations",".","Args",":","key",":","Either","a","scalar","or","list","that","indexes","the","internal","object","for","sub-plotting",".","If","an","overall","visualization","is","requested",",","pass","None",".","Returns",":","HTML","as","a","string","."]
code: def visualize(self, key=None):
      """Provides interactive visualizations.
  
      Args:
          key: Either a scalar or list
              that indexes the internal object for sub-plotting.
              If an overall visualization is requested, pass None.
  
      Returns:
          HTML as a string.
      """
      from ..visual.plot import plot_horizontal_bar, sort_take
  
      data_dict = self.data(key)
      if data_dict is None:
          return None
  
      if self.explanation_type == "global" and key is None:
          data_dict = sort_take(
              data_dict,
              sort_fn=lambda x: -abs(x),
              top_n=15,
              reverse_results=True,
          )
          title = (
              "Morris Sensitivity<br>Convergence Index: {0:.3f}".format(
                  data_dict["convergence_index"]
              )
          )
          figure = plot_horizontal_bar(
              data_dict, start_zero=True, title=title
          )
          return figure
  
      if self.explanation_type == "global" and key is not None:
          multi_html_template = r"""
                  <style>
                  .container {{
                      display: flex;
                      justify-content: center;
                      flex-direction: column;
                      text-align: center;
                      align-items: center;
                  }}
                  .row {{
                      width: 50%;
                      flex: none;
                  }}
                  .dotted-hr {{
                      border: none;
                      border-top: 1px dotted black;
                  }}
                  </style>
                  <div class='container'>
                  <div class='row'>
                      <div>
                          <p>
                              <h1>Morris Analysis<br/>{feature_name}</h1>
                          </p>
                      </div>
                      <hr>
                      {analyses}
                  </div>
                  </div>
              """
          analysis_template = r"""
                  <p>
                      <h2>
                      Mu: {mu:.3f}
                      <br/>
                      Mu_star: {mu_star:.3f}
                      <br/>
                      Sigma: {sigma:.3f}
                      <br/>
                      Mu_star Confidence: {mu_star_conf:.3f}
                      </h2>
                  </p>
                  <hr class='dotted-hr'/>
              """
  
          analysis = analysis_template.format(
              mu=data_dict["mu"],
              mu_star=data_dict["mu_star"],
              sigma=data_dict["sigma"],
              mu_star_conf=data_dict["mu_star_conf"],
          )
  
          html_str = multi_html_template.format(
              feature_name=self.feature_names[key], analyses=analysis
          )
          return html_str
  
      return super().visualize(key)
  
imports: from ..api.base import ExplainerMixin
  from ..api.templates import FeatureValueExplanation
  from ..utils._explanation import gen_name_from_class, gen_global_selector
  from abc import ABC, abstractmethod
  import numpy
  from ..utils._clean_x import preclean_X
  from ..utils._unify_predict import determine_classes, unify_predict_fn
  from ..utils._unify_data import unify_data
label_desc: Use image node_id 2 for calling the MorrisExplanation obj's underlying member method code with example usage: obj.visualize(key) and returns: super, None, figure, html_str