code: def __get_attribute_column(
      attribute_df,
      metrics,
      scales,
      attribute,
      size_constants,
      fairness_threshold,
  ):
      """Returns a vertical concatenation of all elements of all metrics for each attribute's column."""
  
      metric_summary = []
      metric_warnings = []
      for metric in metrics:
          # CREATE VARIABLES IN DF
          warnings = __create_disparity_variables(
              attribute_df, metric, fairness_threshold
          )
          if warnings:
              metric_warnings.append(warnings)
          __create_tooltip_variables(
              attribute_df, metric, fairness_threshold
          )
          __create_group_rank_variable(attribute_df, metric)
  
          # PARITY RESULT TEXT
          ## The parity result is equal to the "worst" of each group's results
          ## If one group fails the parity test, the whole metric fails (for that attribute)
          parity_result = attribute_df.loc[
              attribute_df[f"{metric}_parity_result"] != "Reference"
          ][f"{metric}_parity_result"].min()
  
          parity_result_text = __draw_parity_result_text(
              parity_result, scales["color"]
          )
  
          # GROUP CIRCLES
          group_circles = __draw_group_circles(
              attribute_df, metric, scales, size_constants
          )
  
          # POPULATION BAR
          population_bar_df = __create_population_bar_df(
              attribute_df, metric
          )
          population_bar = __draw_population_bar(
              population_bar_df, metric, scales["color"]
          )
  
          # LAYERING
          metric_summary.append(
              (parity_result_text + population_bar + group_circles)
              .properties(
                  width=size_constants["column_width"],
                  height=size_constants["line_height"],
              )
              .resolve_scale(x="independent")
          )
  
      # ATTRIBUTE TITLE
      attribute_title = __draw_attribute_title(
          attribute, size_constants["column_width"], size_constants
      )
  
      return (
          alt.vconcat(
              attribute_title,
              *metric_summary,
              bounds="flush",
              spacing=size_constants["line_spacing"],
          ),
          metric_warnings,
      )
  
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 14 for calling a global function with example usage: __get_attribute_column(attribute_df, metrics, scales, attribute, size_constants, fairness_threshold) and returns: alt,  metric_warnings