code: def _parse_size(self, size, has_time=False):
          
          if has_time:
              size = size or 4
          else:
              size = size or 10
          if isinstance(size, str):
              size = {'column': size}
          if isinstance(size, dict):
              if 'column' not in size:
                  raise ValueError("`size` must include a 'column' key/value")
              if has_time:
                  raise ValueError("When time is specified, size can "
                                   "only be a fixed size")
              old_size = size
              # Default size range, bins, and bin_method
              size = {
                  'range': [5, 25],
                  'bins': 5,
                  'bin_method': BinMethod.quantiles,
              }
              # Assign default range and update if min/max given
              old_size['range'] = old_size.get('range', size['range'])
              if 'min' in old_size:
                  old_size['range'][0] = old_size['min']
                  old_size.pop('min')
              if 'max' in old_size:
                  old_size['range'][1] = old_size['max']
                  old_size.pop('max')
              # Update all the keys in size if they exist in old_size
              size.update(old_size)
              self.style_cols[size['column']] = None
  
          return size
docs: Parse size inputs