docs: def get_yAxis_limit(y, lower=0.05, upper=0.2):
      """Find optimal y_min and y_max that guarantee enough space for legend and 
      plot.
  
      **中文文档**
  
      计算y坐标轴的最小和最大坐标。
  
      :params lower: ymin为 y的最小值再减去gap的一定倍率
      :params upper: ymax为 y的最大值再加上gap的一定倍率    
      """
      smallest = get_min(y)
      largest = get_max(y)
      gap = largest - smallest
      if gap >= 0.000001:
          y_min = smallest - lower * gap
          y_max = largest + upper * gap
      else:
          y_min = smallest - lower * abs(smallest)
          y_max = largest + upper * abs(largest)
      return y_min, y_max