code: def _scale_y_values(self, values, new_min, new_max, scale_old_from_zero=True):
          '''
          Take values and transmute them into a new range
          '''
          # Scale Y values - Create a scaled list of values to use for the visual graph
          scaled_values = []
          y_min_value = min(values)
          if scale_old_from_zero:
              y_min_value = 0
          y_max_value = max(values)
          new_min = 0
          OldRange = (y_max_value - y_min_value) or 1  # Prevents division by zero if all values are the same
          NewRange = (new_max - new_min)  # max_height is new_max
          for old_value in values:
              new_value = (((old_value - y_min_value) * NewRange) / OldRange) + new_min
              scaled_values.append(new_value)
          return scaled_valuef _scale_y_values(self, values, new_min, new_max, scale_old_from_zero=True):
          '''
          Take values and transmute them into a new range
          '''
          # Scale Y values - Create a scaled list of values to use for the visual graph
          scaled_values = []
          y_min_value = min(values)
          if scale_old_from_zero:
              y_min_value = 0
          y_max_value = max(values)
          new_min = 0
          OldRange = (y_max_value - y_min_value) or 1  # Prevents division by zero if all values are the same
          NewRange = (new_max - new_min)  # max_height is new_max
          for old_value in values:
              new_value = (((old_value - y_min_value) * NewRange) / OldRange) + new_min
              scaled_values.append(new_value)
          return scaled_values
docs: Take values and transmute them into a new range