class_docstr: Logarithmic scaled spectrogram (level vs. frequency vs. time).
  
  Adds pixels iteratively thanks to the adapter providing
  fixed size frame buffers.
class_docstr_tok: ["Logarithmic","scaled","spectrogram","(","level","vs.","frequency","vs.","time",")",".","Adds","pixels","iteratively","thanks","to","the","adapter","providing","fixed","size","frame","buffers","."]
code: def draw_spectrum(self, x, spectrum):
      for index, alpha in self.y_to_bin:
          self.pixels.append(
              int(
                  (
                      (255.0 - alpha) * spectrum[index]
                      + alpha * spectrum[index + 1]
                  )
              )
          )
      for y in range(len(self.y_to_bin), self.image_height):
          self.pixels.append(0)
  
file_path: TimeSide/timeside/plugins/grapher/spectrogram_log.py
imports: from timeside.core import implements, interfacedoc
  from timeside.core.api import IGrapher
  from timeside.core.grapher import Grapher, Image
  from timeside.plugins.grapher.color_schemes import default_color_schemes
  from .utils import interpolate_colors
  import math
label_desc: Use image node_id 7 for calling the SpectrogramLog obj's underlying member method code with example usage: obj.draw_spectrum(x, spectrum) without return types