class_docstr: Artist for an igraph.Graph object.
  
  @param graph: An igraph.Graph object to plot
  @param layout: A layout object or matrix of coordinates to use for plotting.
      Each element or row should describes the coordinates for a vertex.
  @param vertex_style: A dictionary specifying style options for vertices.
  @param edge_style: A dictionary specifying style options for edges.
class_docstr_tok: ["Artist","for","an","igraph.Graph","object",".","@","param","graph",":","An","igraph.Graph","object","to","plot","@","param","layout",":","A","layout","object","or","matrix","of","coordinates","to","use","for","plotting",".","Each","element","or","row","should","describes","the","coordinates","for","a","vertex",".","@","param","vertex_style",":","A","dictionary","specifying","style","options","for","vertices",".","@","param","edge_style",":","A","dictionary","specifying","style","options","for","edges","."]
code: def _draw_vertex_labels(self):
      import numpy as np
  
      kwds = self.kwds
      layout = self.kwds["layout"]
      vertex_builder = self._vertex_builder
      vertex_order = self._vertex_order
  
      self._vertex_labels = []
  
      # Construct the iterator that we will use to draw the vertex labels
      if vertex_order is None:
          # Default vertex order
          vertex_coord_iter = zip(vertex_builder, layout)
      else:
          # Specified vertex order
          vertex_coord_iter = (
              (vertex_builder[i], layout[i]) for i in vertex_order
          )
  
      # Draw the vertex labels
      for vertex, coords in vertex_coord_iter:
          if vertex.label is None:
              continue
  
          label_size = kwds.get(
              "vertex_label_size",
              vertex.label_size,
          )
  
          label_color = kwds.get(
              "vertex_label_color",
              vertex.label_color,
          )
  
          # Locate text relative to vertex in data units. This is consistent
          # with the vertex size being in data units, but might be not fully
          # satisfactory when zooming in/out. In that case, revisit this
          # section
          dist = vertex.label_dist
          angle = vertex.label_angle
          if vertex.size is not None:
              vertex_width = vertex.size
              vertex_height = vertex.size
          else:
              vertex_width = vertex.width
              vertex_height = vertex.height
          xtext = dist * 0.5 * vertex_width * np.cos(angle)
          ytext = dist * 0.5 * vertex_height * np.sin(angle)
          xytext = (xtext, ytext)
  
          art = mpl.text.Annotation(
              vertex.label,
              coords,
              xytext=xytext,
              textcoords="offset points",
              fontsize=label_size,
              color=label_color,
              ha="center",
              va="center",
              clip_on=True,
              zorder=3,
          )
          self._vertex_labels.append(art)
  
imports: from warnings import warn
  from functools import wraps, partial
  from igraph._igraph import convex_hull, VertexSeq
  from igraph.drawing.baseclasses import AbstractGraphDrawer
  from igraph.drawing.utils import FakeModule
  from .edge import MatplotlibEdgeDrawer, EdgeCollection
  from .polygon import HullCollection
  from .utils import find_matplotlib
  from .vertex import MatplotlibVertexDrawer, VertexCollection
label_desc: Use image node_id 12 for calling the GraphArtist obj's underlying member method code with example usage: obj._draw_vertex_labels() without return types