class_docstr: This creates a semiotic square where the complex term is considered the "top" category, the
  neutral term is the "bottom" category, the positive dexis is the "left" category, and the
  negative dexis is the "right" category.
class_docstr_tok: ["This","creates","a","semiotic","square","where","the","complex","term","is","considered","the","``","top","''","category",",","the","neutral","term","is","the","``","bottom","''","category",",","the","positive","dexis","is","the","``","left","''","category",",","and","the","negative","dexis","is","the","``","right","''","category","."]
code: def __init__(
      self,
      term_doc_matrix,
      left_categories,
      right_categories,
      top_categories,
      bottom_categories,
      left_category_name=None,
      right_category_name=None,
      top_category_name=None,
      bottom_category_name=None,
      x_scorer=RankDifference(),
      y_scorer=RankDifference(),
      term_ranker=AbsoluteFrequencyRanker,
      labels=None,
  ):
      for param in [
          left_categories,
          right_categories,
          top_categories,
          bottom_categories,
      ]:
          assert type(param) == list
          assert (
              set(param) - set(term_doc_matrix.get_categories())
              == set()
          )
          assert len(param) > 0
      self.term_doc_matrix_ = term_doc_matrix
      self._labels = labels
      self.left_category_name_ = (
          left_category_name
          if left_category_name is not None
          else left_categories[0]
      )
      self.right_category_name_ = (
          right_category_name
          if right_category_name is not None
          else right_categories[0]
      )
      self.top_category_name_ = (
          top_category_name
          if top_category_name is not None
          else top_categories[0]
      )
      self.bottom_category_name_ = (
          bottom_category_name
          if bottom_category_name is not None
          else bottom_categories[0]
      )
      self.x_scorer_ = x_scorer
      self.y_scorer_ = y_scorer
      self.term_ranker_ = term_ranker
      (
          self.left_categories_,
          self.right_categories_,
          self.top_categories_,
          self.bottom_categories_,
      ) = (
          left_categories,
          right_categories,
          top_categories,
          bottom_categories,
      )
      self.axes = self._build_axes()
      self.lexicons = self._build_lexicons()
  
file_path: scattertext/scattertext/semioticsquare/FourSquareAxis.py
imports: import numpy
  from scattertext.semioticsquare import SemioticSquare
  from scattertext.termranking import AbsoluteFrequencyRanker
  from scattertext.termscoring.RankDifference import RankDifference
label_desc: Use image node_id 1 to create a new FourSquareAxes object from inherited base classes: SemioticSquare with example: obj = FourSquareAxes(term_doc_matrix, left_categories, right_categories, top_categories, bottom_categories, left_category_name, right_category_name, top_category_name, bottom_category_name, x_scorer, y_scorer, term_ranker, labels)