code: def test_calibration_multiclass_vis_api(experiment_to_use):
      """Ensure pdf and png figures can be saved via visualization API call.
  
      :param experiment_to_use: Object containing trained model and results to
          test visualization
      :return: None
      """
      experiment = experiment_to_use
      probabilities = experiment.probabilities
      viz_outputs = ("pdf", "png")
      with TemporaryDirectory() as tmpvizdir:
          for viz_output in viz_outputs:
              vis_output_pattern_pdf = tmpvizdir + f"/*.{viz_output}"
              visualize.calibration_multiclass(
                  [probabilities, probabilities],
                  experiment.ground_truth,
                  experiment.ground_truth_metadata,
                  experiment.output_feature_name,
                  labels_limit=0,
                  model_names=["Model1", "Model2"],
                  output_directory=tmpvizdir,
                  file_format=viz_output,
              )
              figure_cnt = glob.glob(vis_output_pattern_pdf)
              assert 2 == len(figure_cnt)
  
imports: import glob
  import logging
  import os
  from tempfile import TemporaryDirectory
  import numpy
  import pytest
  from ludwig import visualize
  from ludwig.api import LudwigModel, TrainingStats
  from ludwig.constants import BATCH_SIZE, ENCODER, NAME, PREDICTIONS, PROBABILITIES, PROBABILITY, TRAINER, TYPE
  from ludwig.data.split import get_splitter
  from ludwig.globals import HYPEROPT_STATISTICS_FILE_NAME
  from ludwig.utils.data_utils import read_csv
  from tests.integration_tests.utils import bag_feature, binary_feature, category_feature, generate_data, LocalTestBackend, number_feature, sequence_feature, set_feature, text_feature
label_desc: Use image node_id 25 for calling a global function with example usage: test_calibration_multiclass_vis_api(experiment_to_use) without return types