code: def plot(
      learner_names, metric_name, model_path, trees_in_iteration=None
  ):
      colors = MY_COLORS
      if len(learner_names) > len(colors):
          repeat_colors = int(np.ceil(len(learner_names) / len(colors)))
          colors = colors * repeat_colors
  
      if LearningCurves.single_iteration(learner_names, model_path):
          LearningCurves.plot_single_iter(
              learner_names, metric_name, model_path, colors
          )
      else:
          LearningCurves.plot_iterations(
              learner_names,
              metric_name,
              model_path,
              colors,
              trees_in_iteration,
          )
  
file_path: mljar-supervised/supervised/utils/learning_curves.py
imports: import logging
  import os
  import numpy
  import pandas
  from supervised.utils.common import learner_name_to_fold_repeat
  from supervised.utils.config import LOG_LEVEL
  from supervised.utils.metric import Metric
  import matplotlib.colors
  import matplotlib.pyplot
label_desc: Use image node_id 2 for calling the LearningCurves obj's underlying member method code with example usage: obj.plot(learner_names, metric_name, model_path, trees_in_iteration) without return types