code: func (s *Linear) guessLevel() int {
  	return 2 * int(math.Log(s.Max-s.Min)/math.Log(float64(s.ebase())))
  }
docs: // In the default base, the tick levels are:
  //
  // Level -2 is a major tick at -0.1, 0, 0.1, etc.
  // Level -1 is a major tick at -1, -0.5, 0, 0.5, 1, etc.
  // Level 0 is a major tick at -1, 0, 1, etc.
  // Level 1 is a major tick at -10, -5, 0, 5, 10, etc.
  // Level 2 is a major tick at -10, 0, 10, etc.
  //
  // That is, level 0 is unit intervals, and we alternate between
  // interval *= 5 and interval *= 2. Combined, these give us interval
  // *= 10 at every other level.
  //
  // In non-default bases, level 0 is the same and we alternate between
  // interval *= 1 (for consistency) and interval *= base.