class_docstr: Generic abstract class for the graphers
class_docstr_tok: ["Generic","abstract","class","for","the","graphers"]
code: def __init__(
      self,
      width=1024,
      height=256,
      bg_color=None,
      color_scheme="default",
  ):
      super(Grapher, self).__init__()
      self.bg_color = bg_color
      self.color_scheme = color_scheme
      self.graph = None
      self.image_width = width
      self.image_height = height
      self.bg_color = bg_color
      self.color_scheme = color_scheme
      self.previous_x, self.previous_y = None, None
  
imports: import math
  import numpy
  from timeside.core import Processor, implements, interfacedoc, abstract
  from timeside.core.processor import FixedSizeInputAdapter
  from timeside.core.api import IGrapher
  from timeside.plugins.grapher.utils import smooth, im_watermark, normalize
  import timeside.plugins.analyzer
label_desc: Use image node_id 1 to create a new Grapher object from inherited base classes: Processor with example: obj = Grapher(width, height, bg_color, color_scheme)