code: def draw_text(self, text, position, color, scale=1.0):
      if len(color) == 3:
          color = (color[0], color[1], color[2], 1.0)
  
      if self._p.label_font is None:
          self._p.label_font = font.load(
              self._p.font_face,
              self._p.font_size,
              bold=True,
              italic=False,
          )
  
      label = font.Text(
          self._p.label_font,
          text,
          color=color,
          valign=font.Text.BASELINE,
          halign=font.Text.CENTER,
      )
  
      pgl.glPushMatrix()
      pgl.glTranslatef(*position)
      billboard_matrix()
      scale_factor = 0.005 * scale
      pgl.glScalef(scale_factor, scale_factor, scale_factor)
      pgl.glColor4f(0, 0, 0, 0)
      label.draw()
      pgl.glPopMatrix()
  
imports: import pyglet.gl
  from pyglet import font
  from sympy.core import S
  from sympy.plotting.pygletplot.plot_object import PlotObject
  from sympy.plotting.pygletplot.util import billboard_matrix, dot_product, get_direction_vectors, strided_range, vec_mag, vec_sub
  from sympy.utilities.iterables import is_sequence
label_desc: Use image node_id 5 for calling the PlotAxesBase obj's underlying member method code with example usage: obj.draw_text(text, position, color, scale) without return types