code: def plot_trajectory(facades: list[AbstractFacade]) -> None:
      """Plots the trajectory (incumbents) of the optimization process."""
      plt.figure()
      plt.title("Trajectory")
      plt.xlabel("Wallclock time [s]")
      plt.ylabel(facades[0].scenario.objectives)
      plt.ylim(0, 0.4)
  
      for facade in facades:
          X, Y = [], []
          for item in facade.intensifier.trajectory:
              # Single-objective optimization
              assert len(item.config_ids) == 1
              assert len(item.costs) == 1
  
              y = item.costs[0]
              x = item.walltime
  
              X.append(x)
              Y.append(y)
  
          plt.plot(X, Y, label=facade.intensifier.__class__.__name__)
          plt.scatter(X, Y, marker="x")
  
      plt.legend()
      plt.show()
  
file_path: SMAC3/examples/2_multi_fidelity/1_mlp_epochs.py
imports: import warnings
  import matplotlib.pyplot
  import numpy
  from ConfigSpace import Categorical, Configuration, ConfigurationSpace, EqualsCondition, Float, InCondition, Integer
  from sklearn.datasets import load_digits
  from sklearn.model_selection import StratifiedKFold, cross_val_score
  from sklearn.neural_network import MLPClassifier
  from smac import MultiFidelityFacade
  from smac import Scenario
  from smac.facade import AbstractFacade
  from smac.intensifier.hyperband import Hyperband
  from smac.intensifier.successive_halving import SuccessiveHalving
label_desc: Use image node_id 1 for calling a global function with example usage: plot_trajectory(facades) without return types