code: def extract_solution(set_sol, n=10):
      """Extract numerical solutions from a set solution (computed by solveset,
      linsolve, nonlinsolve). Often, it is not trivial do get something useful
      out of them.
  
      Parameters
      ==========
  
      n : int, optional
          In order to replace ImageSet with FiniteSet, an iterator is created
          for each ImageSet contained in `set_sol`, starting from 0 up to `n`.
          Default value: 10.
      """
      images = set_sol.find(ImageSet)
      for im in images:
          it = iter(im)
          s = FiniteSet(*[next(it) for n in range(0, n)])
          set_sol = set_sol.subs(im, s)
      return set_sol
  
file_path: sympy/sympy/plotting/utils.py
imports: from sympy.core.containers import Tuple
  from sympy.core.basic import Basic
  from sympy.core.expr import Expr
  from sympy.core.function import AppliedUndef
  from sympy.core.relational import Relational
  from sympy.core.symbol import Dummy
  from sympy.core.sympify import sympify
  from sympy.logic.boolalg import BooleanFunction
  from sympy.sets.fancysets import ImageSet
  from sympy.sets.sets import FiniteSet
  from sympy.tensor.indexed import Indexed
label_desc: Use image node_id 2 for calling a global function with example usage: extract_solution(set_sol, n) and returns: set_sol