code: def plot_groups(self) -> None:
      if self.detect_race_bias:
          race_group_sizes = self.estimated_groups_sizes[
              races + ["race_unknown"]
          ]
          race_group_percentages = pd.Series(
              race_group_sizes.values / race_group_sizes.sum()
          ).apply(
              lambda fraction: "{fraction:.2%}".format(
                  fraction=fraction
              )
          )
          if len(race_group_sizes) > 0:
              plt.title("Race estimated groups sizes")
              plt.pie(race_group_sizes.values)
              plt.legend(
                  labels=race_group_sizes.index.values
                  + " - "
                  + race_group_percentages
              )
              plt.show()
      if self.detect_gender_bias:
          gender_group_sizes = self.estimated_groups_sizes[
              ["male", "female", "gender_unknown"]
          ]
          gender_group_percentages = pd.Series(
              gender_group_sizes.values / gender_group_sizes.sum()
          ).apply(
              lambda fraction: "{fraction:.2%}".format(
                  fraction=fraction
              )
          )
          if len(gender_group_sizes) > 0:
              plt.title("Gender estimated groups sizes")
              plt.pie(gender_group_sizes.values)
              plt.legend(
                  labels=gender_group_sizes.index.values
                  + " - "
                  + gender_group_percentages
              )
              plt.show()
  
file_path: bias-detector/bias_detector/BiasReport.py
imports: import pandas
  import numpy
  from matplotlib import pyplot
  from bias_detector.BiasConfidence import BiasConfidence
  from bias_detector.BiasMetric import get_bias_metric_description, get_bias_metric, get_bias_metric_short_description
  from bias_detector.common import get_p_others, get_other_groups_names, races
label_desc: Use image node_id 2 for calling the BiasReport obj's underlying member method code with example usage: obj.plot_groups() without return types