class_docstr: Simple matrix data type.
  
  Of course there are much more advanced matrix data types for Python (for
  instance, the C{ndarray} data type of Numeric Python) and this implementation
  does not want to compete with them. The only role of this data type is to
  provide a convenient interface for the matrices returned by the C{Graph}
  object (for instance, allow indexing with tuples in the case of adjacency
  matrices and so on).
class_docstr_tok: ["Simple","matrix","data","type",".","Of","course","there","are","much","more","advanced","matrix","data","types","for","Python","(","for","instance",",","the","C","{","ndarray","}","data","type","of","Numeric","Python",")","and","this","implementation","does","not","want","to","compete","with","them",".","The","only","role","of","this","data","type","is","to","provide","a","convenient","interface","for","the","matrices","returned","by","the","C","{","Graph","}","object","(","for","instance",",","allow","indexing","with","tuples","in","the","case","of","adjacency","matrices","and","so","on",")","."]
docstr: Plots the matrix to the given Cairo context or matplotlib Axes.
  
  Besides the usual self-explanatory plotting parameters (C{context},
  C{bbox}, C{palette}), it accepts the following keyword arguments:
  
    - C{style}: the style of the plot. C{boolean} is useful for plotting
      matrices with boolean (C{True}/C{False} or 0/1) values: C{False}
      will be shown with a white box and C{True} with a black box.
      C{palette} uses the given palette to represent numbers by colors,
      the minimum will be assigned to palette color index 0 and the maximum
      will be assigned to the length of the palette. C{None} draws transparent
      cell backgrounds only. The default style is C{boolean} (but it may
      change in the future). C{None} values in the matrix are treated
      specially in both cases: nothing is drawn in the cell corresponding
      to C{None}.
  
    - C{square}: whether the cells of the matrix should be square or not.
      Default is C{True}.
  
    - C{grid_width}: line width of the grid shown on the matrix. If zero or
      negative, the grid is turned off. The grid is also turned off if the size
      of a cell is less than three times the given line width. Default is C{1}.
      Fractional widths are also allowed.
  
    - C{border_width}: line width of the border drawn around the matrix.
      If zero or negative, the border is turned off. Default is C{1}.
  
    - C{row_names}: the names of the rows
  
    - C{col_names}: the names of the columns.
  
    - C{values}: values to be displayed in the cells. If C{None} or
      C{False}, no values are displayed. If C{True}, the values come
      from the matrix being plotted. If it is another matrix, the
      values of that matrix are shown in the cells. In this case,
      the shape of the value matrix must match the shape of the
      matrix being plotted.
  
    - C{value_format}: a format string or a callable that specifies how
      the values should be plotted. If it is a callable, it must be a
      function that expects a single value and returns a string.
      Example: C{"%#.2f"} for floating-point numbers with always exactly
      two digits after the decimal point. See the Python documentation of
      the C{%} operator for details on the format string. If the format
      string is not given, it defaults to the C{str} function.
  
  If only the row names or the column names are given and the matrix
  is square-shaped, the same names are used for both column and row
  names.
code: def __plot__(self, backend, context, **kwds):
      """Plots the matrix to the given Cairo context or matplotlib Axes.
  
      Besides the usual self-explanatory plotting parameters (C{context},
      C{bbox}, C{palette}), it accepts the following keyword arguments:
  
        - C{style}: the style of the plot. C{boolean} is useful for plotting
          matrices with boolean (C{True}/C{False} or 0/1) values: C{False}
          will be shown with a white box and C{True} with a black box.
          C{palette} uses the given palette to represent numbers by colors,
          the minimum will be assigned to palette color index 0 and the maximum
          will be assigned to the length of the palette. C{None} draws transparent
          cell backgrounds only. The default style is C{boolean} (but it may
          change in the future). C{None} values in the matrix are treated
          specially in both cases: nothing is drawn in the cell corresponding
          to C{None}.
  
        - C{square}: whether the cells of the matrix should be square or not.
          Default is C{True}.
  
        - C{grid_width}: line width of the grid shown on the matrix. If zero or
          negative, the grid is turned off. The grid is also turned off if the size
          of a cell is less than three times the given line width. Default is C{1}.
          Fractional widths are also allowed.
  
        - C{border_width}: line width of the border drawn around the matrix.
          If zero or negative, the border is turned off. Default is C{1}.
  
        - C{row_names}: the names of the rows
  
        - C{col_names}: the names of the columns.
  
        - C{values}: values to be displayed in the cells. If C{None} or
          C{False}, no values are displayed. If C{True}, the values come
          from the matrix being plotted. If it is another matrix, the
          values of that matrix are shown in the cells. In this case,
          the shape of the value matrix must match the shape of the
          matrix being plotted.
  
        - C{value_format}: a format string or a callable that specifies how
          the values should be plotted. If it is a callable, it must be a
          function that expects a single value and returns a string.
          Example: C{"%#.2f"} for floating-point numbers with always exactly
          two digits after the decimal point. See the Python documentation of
          the C{%} operator for details on the format string. If the format
          string is not given, it defaults to the C{str} function.
  
      If only the row names or the column names are given and the matrix
      is square-shaped, the same names are used for both column and row
      names.
      """
      from igraph.drawing import DrawerDirectory
  
      drawer = DrawerDirectory.resolve(self, backend)(context)
      drawer.draw(self, **kwds)
  
label_desc: Use image node_id 20 for calling the Matrix obj's underlying member method code with example usage: obj.__plot__(backend, context) without return types