code: def __init__(self, *args, **kwargs):
      self.args = args
      self.f, self.gradient = None, ColorGradient()
  
      if (
          len(args) == 1
          and not isinstance(args[0], Basic)
          and callable(args[0])
      ):
          self.f = args[0]
      elif len(args) == 1 and isinstance(args[0], str):
          if args[0] in default_color_schemes:
              cs = default_color_schemes[args[0]]
              self.f, self.gradient = cs.f, cs.gradient.copy()
          else:
              self.f = lambdify("x,y,z,u,v", args[0])
      else:
          self.f, self.gradient = self._interpret_args(args)
      self._test_color_function()
      if not isinstance(self.gradient, ColorGradient):
          raise ValueError(
              "Color gradient not properly initialized. "
              "(Not a ColorGradient instance.)"
          )
  
imports: from sympy.core.basic import Basic
  from sympy.core.symbol import Symbol, symbols
  from sympy.utilities.lambdify import lambdify
  from .util import interpolate, rinterpolate, create_bounds, update_bounds
  from sympy.utilities.iterables import sift
label_desc: Use image node_id 1 to create a new ColorScheme object  with example: obj = ColorScheme()