docstr: Add information about metric results for binary-class evaluation
  
  Args:
      notes(str): Explain the block
      metric_tuple(tuple): (evaluation_header, evaluation_metric_dict)
          - evaluation_header(str): a header for current evaluation,
                                  can be split or round number.
          - evaluation_metric_dict(dict): key-value pair for metric
              - key: metric name
              - value: metric value
      aggregated(bool): whether to aggregate multiple result tables into one
docstr_tok: ["Add","information","about","metric","results","for","binary-class","evaluation","Args",":","notes","(","str",")",":","Explain","the","block","metric_tuple","(","tuple",")",":","(","evaluation_header",",","evaluation_metric_dict",")","-","evaluation_header","(","str",")",":","a","header","for","current","evaluation",",","can","be","split","or","round","number",".","-","evaluation_metric_dict","(","dict",")",":","key-value","pair","for","metric","-","key",":","metric","name","-","value",":","metric","value","aggregated","(","bool",")",":","whether","to","aggregate","multiple","result","tables","into","one"]
code: def draw_binary_class_evaluation_metric_results(
      self, notes: str, *, metric_tuple: tuple, aggregated=True
  ):
      """
      Add information about metric results for binary-class evaluation
  
      Args:
          notes(str): Explain the block
          metric_tuple(tuple): (evaluation_header, evaluation_metric_dict)
              - evaluation_header(str): a header for current evaluation,
                                      can be split or round number.
              - evaluation_metric_dict(dict): key-value pair for metric
                  - key: metric name
                  - value: metric value
          aggregated(bool): whether to aggregate multiple result tables into one
      """
      from collections import defaultdict
      from xai.model.evaluation.binary_classification_result import (
          BinaryClassificationResult,
      )
  
      # -- Draw Content --
      self.pdf.add_new_line(notes)
  
      combined_table_dict = defaultdict(list)
      combined_table_header = ["Split/Round"]
      table_name = ""
      for eval_name, eval_metric_dict in metric_tuple:
          combined_table_header.append(eval_name)
          cr = BinaryClassificationResult()
          cr.load_results_from_meta(eval_metric_dict)
          (
              table_name,
              table_header,
              table_data,
              table_layout,
          ) = cr.convert_metrics_to_table()
          if aggregated:
              table_data_dict = {row[0]: row[1] for row in table_data}
              for metric_name, metric_value in table_data_dict.items():
                  combined_table_dict[metric_name].append(metric_value)
          else:
              self.pdf.add_new_line(
                  "For split/round <B>%s</B>" % eval_name
              )
              self.pdf.add_table(table_header, table_data)
  
      if aggregated:
          combined_table_values = []
          for (
              metric_name,
              metric_value_list,
          ) in combined_table_dict.items():
              combined_table_values.append(
                  [metric_name] + metric_value_list
              )
  
          self.pdf.add_new_line(table_name, style="BI")
          self.pdf.add_table(
              combined_table_header, combined_table_values
          )
      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 30 for calling the PdfWriter obj's underlying member method code with example usage: obj.draw_binary_class_evaluation_metric_results(notes) without return types