data是数组时 function getX(data){ var len=data.length; //数组长度 var sum=0; //值相加的总和 var sums=0; //值-平均的总和 for(var i=0;i<len;i++){ sum+=data[i]; //总和 } //排序 arr.sort(function (a, b) { return a-b; }); var min = arr[0]; //最小值 var max = arr[arr.length - 1]; //最大值 var avg = sum/len; //平均值 for(let i = 0; i < len; i++){ sums +=(Number(arr[i])- avg)*(Number(arr[i])- avg) } var sd=(Math.sqrt(sums/len)).toFixed(len); //标准差 } data是集合时 // data是集合 存储类型为 0:[0,1] function getX(data){ var len=data.length; //集合长度 var sum=0; //值相加的总和 var sums=0; //值-平均的总和 var arr=[]; for(var i=0;i<len;i++){ var x1data=data[i]; //x1data[1]是获取数据的第二位元素的值 比如【x,y】,这里是获取y的值 sum+=x1data[1]; //总和 arr.push(x1data[1]); } //排序 arr.sort(function (a, b) { return a-b; }); var min = arr[0]; //最小值 var max = arr[arr.length - 1]; //最大值 var avg = sum/len; //平均值 for(let i = 0; i < len; i++){ sums +=(Number(arr[i])- avg)*(Number(arr[i])- avg) } var sd=(Math.sqrt(sums/len)).toFixed(len); //标准差 //var sd= Math.sqrt(deviations.map(square).reduce(sum)/len); // var sd= Math.sqrt(arr.map(n=> (n-avg) * (n-avg)).reduce(sum) / (x2-x1)); }