using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Siger.ApiCommon.Utilities
{
    public class BoxPlot
    {
        //计算箱线图
        public static object CalcBoxPlot(List<double> item)
        {
            if (item != null && item.Count > 4)
            {
                var len = item.Count;
                item.Sort();
                var q1 = item[(int)Math.Ceiling(len * 0.25)];
                var m = item[(int)Math.Ceiling(len * 0.5)];
                var q2 = len < 7 ? item[(int)Math.Ceiling(len * 0.75)-1] : item[(int)Math.Ceiling(len * 0.75)];
                return new List<object>() { item[0], q1, m, q2, item[len - 1] };
            }
            return null;
        }
    }
}
