docstr: Add information about binary class confidence distribution to report
  
  Args:
      notes(str): Explain the block
      visual_result_tuple(tuple): (visual_result_header, visual_result_dict)
         - visual_result_header(str): a header for confusion_matrix,
                                          can be split or round number.
         - visual_result_dict(dict): key-value
              - `gt` (:list of :str): ground truth class label for all samples
              - `probability` (:list of :list): 2D list (N sample * 2) to
                              present probability distribution of each sample
docstr_tok: ["Add","information","about","binary","class","confidence","distribution","to","report","Args",":","notes","(","str",")",":","Explain","the","block","visual_result_tuple","(","tuple",")",":","(","visual_result_header",",","visual_result_dict",")","-","visual_result_header","(","str",")",":","a","header","for","confusion_matrix",",","can","be","split","or","round","number",".","-","visual_result_dict","(","dict",")",":","key-value","-","`","gt","`","(",":","list","of",":","str",")",":","ground","truth","class","label","for","all","samples","-","`","probability","`","(",":","list","of",":","list",")",":","2D","list","(","N","sample","*","2",")","to","present","probability","distribution","of","each","sample"]
code: def draw_binary_class_confidence_distribution(
      self, notes: str, *, visual_result_tuple: tuple
  ):
      """
      Add information about binary class confidence distribution to report
  
      Args:
          notes(str): Explain the block
          visual_result_tuple(tuple): (visual_result_header, visual_result_dict)
             - visual_result_header(str): a header for confusion_matrix,
                                              can be split or round number.
             - visual_result_dict(dict): key-value
                  - `gt` (:list of :str): ground truth class label for all samples
                  - `probability` (:list of :list): 2D list (N sample * 2) to
                                  present probability distribution of each sample
      """
      from xai.graphs import graph_generator
  
      # -- Draw Content --
      self.pdf.add_new_line(notes)
  
      image_list = []
      for eval_name, eval_vis_result in visual_result_tuple:
          image_path = "%s/%s_prob_dist.png" % (
              self.figure_path,
              eval_name,
          )
          image_path = graph_generator.ResultProbability(
              figure_path=image_path,
              data=eval_vis_result,
              title="Probability Distribution",
          ).draw()
          image_list.append(image_path)
  
      if len(image_list) == 1:
          self.pdf.add_grid_images(
              image_set=image_list, grid_spec={0: (0, 0, 80, 80)}
          )
      else:
          column_width = 180 / (len(image_list) + 1)
          cur_w = column_width
          spec_list = dict()
          for i, _ in enumerate(image_list):
              spec_list[i] = (cur_w, 0, column_width, column_width)
              cur_w += column_width
          self.pdf.add_list_of_grid_images(image_list, spec_list)
      self.pdf.ln(5)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  import os
  import tempfile
  import warnings
  import numpy
  import shutil
  from typing import Tuple, Dict, List
  from xai import MODE
  from xai.data.constants import DatetimeResolution
  from xai.data.explorer import CategoricalStats, NumericalStats, TextStats, DatetimeStats
  from xai.formatter.contents import Title, SectionTitle, Header
  from xai.formatter.portable_document.publisher import CustomPdf
  from xai.formatter.report.section import OverviewSection, DetailSection
  from xai.formatter.writer import Writer
label_desc: Use image node_id 33 for calling the PdfWriter obj's underlying member method code with example usage: obj.draw_binary_class_confidence_distribution(notes) without return types