code: def plot_contour(X, X1, X2, clf, title):
      pl.figure()
      pl.title(title)
  
      # Plot instances of class 1.
      pl.plot(X1[:, 0], X1[:, 1], "ro")
      # Plot instances of class 2.
      pl.plot(X2[:, 0], X2[:, 1], "bo")
  
      # Select "support vectors".
      if hasattr(clf, "support_vectors_"):
          sv = clf.support_vectors_
      else:
          sv = X[clf.coef_.ravel() != 0]
  
      # Plot support vectors.
      pl.scatter(sv[:, 0], sv[:, 1], s=100, c="g")
  
      # Plot decision surface.
      A, B = np.meshgrid(np.linspace(-6, 6, 50), np.linspace(-6, 6, 50))
      C = np.array(
          [[x1, x2] for x1, x2 in zip(np.ravel(A), np.ravel(B))]
      )
      Z = clf.decision_function(C).reshape(A.shape)
      pl.contour(
          A, B, Z, [0.0], colors="k", linewidths=1, origin="lower"
      )
  
      pl.axis("tight")
  
file_path: lightning/examples/plot_sparse_non_linear.py
imports: import numpy
  import pylab
  from sklearn.metrics.pairwise import rbf_kernel
  from lightning.classification import CDClassifier
  from lightning.classification import KernelSVC
label_desc: Use image node_id 2 for calling a global function with example usage: plot_contour(X, X1, X2, clf, title) without return types