code: def normalize(data, width):
      
      min_dat = find_min(data)
      # We offset by the minimum if there's a negative.
      off_data = []
      if min_dat < 0:
          min_dat = abs(min_dat)
          for dat in data:
              off_data.append([_d + min_dat for _d in dat])
      else:
          off_data = data
      min_dat = find_min(off_data)
      max_dat = find_max(off_data)
  
      if max_dat < width:
          # Don't need to normalize if the max value
          # is less than the width we allow.
          return off_data
  
      # max_dat / width is the value for a single tick. norm_factor is the
      # inverse of this value
      # If you divide a number to the value of single tick, you will find how
      # many ticks it does contain basically.
      norm_factor = width / float(max_dat)
      normal_dat = []
      for dat in off_data:
          normal_dat.append([_v * norm_factor for _v in dat])
  
      return normal_dat
docs: Normalize the data and return it.