class_docstr: A strip
  
  This class exists to have in one place all that is required to draw
  strip text onto an axes. As Matplotlib does not have a layout manager
  that makes it easy to adorn an axes with artists, we have to compute
  the space required for the text and the background strip on which it
  is drawn. This is very finicky and fails once the facets become
  complicated.
class_docstr_tok: ["A","strip","This","class","exists","to","have","in","one","place","all","that","is","required","to","draw","strip","text","onto","an","axes",".","As","Matplotlib","does","not","have","a","layout","manager","that","makes","it","easy","to","adorn","an","axes","with","artists",",","we","have","to","compute","the","space","required","for","the","text","and","the","background","strip","on","which","it","is","drawn",".","This","is","very","finicky","and","fails","once","the","facets","become","complicated","."]
docstr: Create a background patch and put a label on it
docstr_tok: ["Create","a","background","patch","and","put","a","label","on","it"]
code: def draw(self):
      """
      Create a background patch and put a label on it
      """
  
      from .._mpl.text import SText
  
      _targets = self.theme._targets
      text = SText(self.draw_info)
      rect = text.spatch
  
      self.ax.add_artist(text)
      self.ax.add_artist(rect)
  
      for key in (
          "strip_text_x",
          "strip_text_y",
          "strip_background_x",
          "strip_background_y",
      ):
          if key not in _targets:
              _targets[key] = []
  
      if self.draw_info.position == "right":
          _targets["strip_background_y"].append(rect)
          _targets["strip_text_y"].append(text)
      else:
          _targets["strip_background_x"].append(rect)
          _targets["strip_text_x"].append(text)
  
file_path: plotnine/plotnine/facets/strips.py
imports: from __future__ import annotations
  import typing
  from contextlib import suppress
  from typing import List
  from ..iapi import strip_draw_info, strip_label_details
label_desc: Use image node_id 3 for calling the strip obj's underlying member method code with example usage: obj.draw() without return types