docstr: Outdated.  MPLD3 drawing.
  
  Parameters
  ----------
  category
  num_top_words_to_annotate
  words_to_annotate
  scores
  transform
  
  Returns
  -------
  pd.DataFrame, html of fgure
docstr_tok: ["Outdated",".","MPLD3","drawing",".","Parameters","--","--","--","--","--","category","num_top_words_to_annotate","words_to_annotate","scores","transform","Returns","--","--","--","-","pd.DataFrame",",","html","of","fgure"]
code: def draw(
      self,
      category,
      num_top_words_to_annotate=4,
      words_to_annotate=[],
      scores=None,
      transform=percentile_alphabetical,
  ):
      """Outdated.  MPLD3 drawing.
  
      Parameters
      ----------
      category
      num_top_words_to_annotate
      words_to_annotate
      scores
      transform
  
      Returns
      -------
      pd.DataFrame, html of fgure
      """
      try:
          import matplotlib.pyplot as plt
      except:
          raise Exception(
              "matplotlib and mpld3 need to be installed to use this function."
          )
      try:
          from mpld3 import plugins, fig_to_html
      except:
          raise Exception(
              "mpld3 need to be installed to use this function."
          )
      all_categories, other_categories = self._get_category_names(
          category
      )
      df = self._term_rank_score_and_frequency_df(
          all_categories, category, other_categories, scores
      )
      if self.x_coords is None:
          (
              df["x"],
              df["y"],
          ) = self._get_coordinates_from_transform_and_jitter_frequencies(
              category, df, other_categories, transform
          )
      df_to_annotate = df[
          (df["not category score rank"] <= num_top_words_to_annotate)
          | (df["category score rank"] <= num_top_words_to_annotate)
          | df["term"].isin(words_to_annotate)
      ]
      words = list(df["term"])
  
      font = {
          "family": "sans-serif",
          "color": "black",
          "weight": "normal",
          "size": "large",
      }
  
      fig, ax = plt.subplots()
      plt.figure(figsize=(10, 10))
      plt.gcf().subplots_adjust(bottom=0.2)
      plt.gcf().subplots_adjust(right=0.2)
  
      points = ax.scatter(
          self.x_coords,
          self.y_coords,
          c=-df["color_scores"],
          cmap="seismic",
          s=10,
          edgecolors="none",
          alpha=0.9,
      )
      tooltip = plugins.PointHTMLTooltip(
          points,
          ["<span id=a>%s</span>" % w for w in words],
          css="#a {background-color: white;}",
      )
      plugins.connect(fig, tooltip)
      ax.set_ylim([-0.2, 1.2])
      ax.set_xlim([-0.2, 1.2])
      ax.xaxis.set_ticks([0.0, 0.5, 1.0])
      ax.yaxis.set_ticks([0.0, 0.5, 1.0])
      ax.set_ylabel(
          category.title() + " Frequency Percentile",
          fontdict=font,
          labelpad=20,
      )
      ax.set_xlabel(
          "Not " + category.title() + " Frequency Percentile",
          fontdict=font,
          labelpad=20,
      )
  
      for i, row in df_to_annotate.iterrows():
          # alignment_criteria = row['category score rank'] < row['not category score rank']
          alignment_criteria = i % 2 == 0
          horizontalalignment = (
              "right" if alignment_criteria else "left"
          )
          verticalalignment = "bottom" if alignment_criteria else "top"
          term = row["term"]
          ax.annotate(
              term,
              (self.x_coords[i], self.y_data[i]),
              size=15,
              horizontalalignment=horizontalalignment,
              verticalalignment=verticalalignment,
          )
      # texts.append(
      # ax.text(row['dem freq scaled'], row['rep freq scaled'], row['word'])
      # )
      # adjust_text(texts, arrowprops=dict(arrowstyle="->", color='r', lw=0.5))
      plt.show()
      return df, fig_to_html(fig)
  
imports: import logging
  import sys
  import numpy
  import pandas
  from scipy.stats import rankdata
  from scattertext.PValGetter import get_p_vals
  from scattertext.Scalers import percentile_min, percentile_alphabetical
  from scattertext.ScatterChartData import ScatterChartData
  from scattertext.TermDocMatrixFilter import filter_bigrams_by_pmis, filter_out_unigrams_that_only_occur_in_one_bigram
  from scattertext.termscoring import ScaledFScore
  from scattertext.termscoring.RankDifference import RankDifference
  from scattertext.termscoring.CornerScore import CornerScore
label_desc: Use image node_id 24 for calling the ScatterChart obj's underlying member method code with example usage: obj.draw(category, num_top_words_to_annotate, words_to_annotate, scores, transform) and returns: df,  fig_to_html