docstr: Add information about confusion matrix to report
  
  Args:
      notes(str): Explain the block
      confusion_matrix_tuple(tuple): (confusion_matrix_header, confusion_matrix_dict)
          - confusion_matrix_header(str): a header for confusion_matrix,
                                          can be split or round number.
          - confusion_matrix_dict(dict):
              - `labels`(:list of :str): label of classes
              - `values`(:list of :list): 2D list for confusion matrix value,
                                      row for predicted, column for true.
code: def draw_confusion_matrix_results(
      self, notes: str, *, confusion_matrix_tuple: tuple
  ):
      """
      Add information about confusion matrix to report
  
      Args:
          notes(str): Explain the block
          confusion_matrix_tuple(tuple): (confusion_matrix_header, confusion_matrix_dict)
              - confusion_matrix_header(str): a header for confusion_matrix,
                                              can be split or round number.
              - confusion_matrix_dict(dict):
                  - `labels`(:list of :str): label of classes
                  - `values`(:list of :list): 2D list for confusion matrix value,
                                          row for predicted, column for true.
      """
      from xai.graphs import graph_generator
  
      # -- Draw Content --
      if not (notes is None):
          self.html.article[-1].items.append(
              self.html.add_paragraph(text=notes)
          )
  
      images = dict()
      for idx, (eval_name, confusion_matrix_mat) in enumerate(
          confusion_matrix_tuple
      ):
          figure_path = "%s/%s_%s_cm.png" % (
              self.figure_path,
              idx,
              eval_name,
          )
          image_path = graph_generator.HeatMap(
              figure_path=figure_path,
              data=confusion_matrix_mat["values"],
              title=eval_name,
              x_label="Predict",
              y_label="True",
          ).draw(
              x_tick=confusion_matrix_mat["labels"],
              y_tick=confusion_matrix_mat["labels"],
              color_bar=True,
          )
          images[eval_name] = image_path
      self.html.article[-1].items.append(
          self.html.add_grid_image(srcs=images)
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  import os
  import tempfile
  import warnings
  import shutil
  from typing import Tuple, Dict, List
  import numpy
  from xai import MODE
  from xai.data.explorer import CategoricalStats, NumericalStats, TextStats, DatetimeStats
  from xai.formatter.contents import Header, Title, SectionTitle
  from xai.formatter.hypertext_markup.publisher import CustomHtml, Div
  from xai.formatter.report.section import OverviewSection, DetailSection
  from xai.formatter.writer import Writer
label_desc: Use image node_id 33 for calling the HtmlWriter obj's underlying member method code with example usage: obj.draw_confusion_matrix_results(notes) without return types