code: def __draw_metric_line_titles(metrics, size_constants):
      """Draws left hand side titles for metrics."""
  
      metric_line_titles = []
  
      for metric in metrics:
          # METRIC TITLE
          metric_title = (
              alt.Chart(DUMMY_DF)
              .transform_calculate(y_position="1.2")
              .mark_text(
                  align="center",
                  baseline="middle",
                  font=FONT,
                  fontWeight=Title.font_weight,
                  size=Title.font_size,
                  color=Title.font_color,
              )
              .encode(
                  alt.Y(
                      "y_position:Q",
                      scale=alt.Scale(domain=[3, 1]),
                      axis=no_axis(),
                  ),
                  text=alt.value(metric.upper()),
              )
          )
  
          # GROUPS TEXT
          group_circles_title = (
              alt.Chart(DUMMY_DF)
              .transform_calculate(y_position="2")
              .mark_text(
                  align="center",
                  baseline="middle",
                  font=FONT,
                  size=Subtitle.font_size,
                  color=Subtitle.font_color,
              )
              .encode(
                  alt.Y(
                      "y_position:Q",
                      scale=alt.Scale(domain=[3, 1]),
                      axis=no_axis(),
                  ),
                  text=alt.value(Label.MULTIPLE_GROUPS),
              )
          )
  
          # PERCENT. POP TEXT
          population_percentage_title = (
              alt.Chart(DUMMY_DF)
              .transform_calculate(y_position="2.7")
              .mark_text(
                  align="center",
                  baseline="middle",
                  font=FONT,
                  size=Subtitle.font_size,
                  color=Subtitle.font_color,
              )
              .encode(
                  alt.Y(
                      "y_position:Q",
                      scale=alt.Scale(domain=[3, 1]),
                      axis=no_axis(),
                  ),
                  text=alt.value("% Pop."),
              )
          )
  
          metric_line_titles.append(
              (
                  metric_title
                  + group_circles_title
                  + population_percentage_title
              ).properties(
                  height=size_constants["line_height"],
                  width=size_constants["metric_titles_width"],
              )
          )
  
      # EMPTY CORNER SPACE
      # To make sure that the attribute columns align properly with the title column, we need to create a blank
      # space of the same size of the attribute titles. For this purpose, we use the same function (__draw_attribute_title)
      # and pass in an empty string so that nothing is actually drawn.
      top_left_corner_space = __draw_attribute_title(
          "", size_constants["metric_titles_width"], size_constants
      )
  
      # CONCATENATE SUBPLOTS
      metric_titles = alt.vconcat(
          top_left_corner_space,
          *metric_line_titles,
          spacing=size_constants["line_spacing"],
          bounds="flush",
      )
  
      return metric_titles
  
imports: import altair
  import pandas
  from aequitas.plot.commons.helpers import no_axis, transform_ratio, format_number, get_chart_metadata
  from aequitas.plot.commons.tooltips import get_tooltip_text_group_size, get_tooltip_text_disparity_explanation, get_tooltip_text_parity_test_explanation
  from aequitas.plot.commons.style.classes import Title, Subtitle, Parity_Result, Annotation, Legend
  from aequitas.plot.commons.style.text import FONT
  from aequitas.plot.commons.style.sizes import Summary_Chart
  from aequitas.plot.commons import initializers
  from aequitas.plot.commons import validators
  from aequitas.plot.commons import labels
label_desc: Use image node_id 4 for calling a global function with example usage: __draw_metric_line_titles(metrics, size_constants) and returns: metric_titles