class_docstr: Intended parent class for plotting
  modes. Provides base functionality
  in conjunction with its parent,
  PlotMode.
class_docstr_tok: ["Intended","parent","class","for","plotting","modes",".","Provides","base","functionality","in","conjunction","with","its","parent",",","PlotMode","."]
code: def _set_color(self, v):
      try:
          if v is not None:
              if is_sequence(v):
                  v = ColorScheme(*v)
              else:
                  v = ColorScheme(v)
          if repr(v) == repr(self._color):
              return
          self._on_change_color(v)
          self._color = v
      except Exception as e:
          raise RuntimeError(
              "Color change failed. " "Reason: %s" % (str(e))
          )
  
imports: import pyglet.gl
  from sympy.core import S
  from sympy.plotting.pygletplot.color_scheme import ColorScheme
  from sympy.plotting.pygletplot.plot_mode import PlotMode
  from sympy.utilities.iterables import is_sequence
  from time import sleep
  from threading import Thread, Event, RLock
  import warnings
label_desc: Use image node_id 29 for calling the PlotModeBase obj's underlying member method code with example usage: obj._set_color(v) without return types