code: def test_ax_silhouette():
      clf = KMeans()
      cluster_labels = clf.fit_predict(X)
      plot.silhouette_analysis_from_results(X, cluster_labels)
      fig, ax = plt.subplots(1, 1)
      out_ax = plot.silhouette_analysis_from_results(X, cluster_labels)
      assert ax is not out_ax
      out_ax = plot.silhouette_analysis_from_results(
          X, cluster_labels, ax=ax
      )
      assert ax is out_ax
  
imports: import pytest
  import numpy
  from unittest.mock import Mock
  import matplotlib.pyplot
  from matplotlib.testing.decorators import image_comparison
  from sklearn.tree import DecisionTreeClassifier
  from sklearn.cluster import KMeans, MiniBatchKMeans
  from sklearn.datasets import load_iris
  from sklearn_evaluation import plot
  import sklearn_evaluation.plot.clustering
  from ploomber_core.warnings import PloomberDeprecationWarning
label_desc: Use image node_id 20 for calling a global function with example usage: test_ax_silhouette() without return types