1143 lines
39 KiB
JavaScript
1143 lines
39 KiB
JavaScript
|
|
|
|||
|
|
|
|||
|
|
//arr1<72><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
|
let set = $("#data").html();
|
|||
|
|
$("#TestLogsData").html(set);
|
|||
|
|
var list = set.split(',');
|
|||
|
|
var arr1 = new Array(); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
for (var i = 0; i < list.length; i++) {
|
|||
|
|
arr1.push(Number(list[i]));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
var total = 0;
|
|||
|
|
for (var i = 0; i < arr1.length; i++) {
|
|||
|
|
total += arr1[i];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
var mCharts = echarts.init(document.getElementById('stesy'));
|
|||
|
|
|
|||
|
|
option = {
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
position: function (pt) {
|
|||
|
|
return [pt[0], '10%'];
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
title: {
|
|||
|
|
left: 'center',
|
|||
|
|
},
|
|||
|
|
toolbox: {
|
|||
|
|
feature: {
|
|||
|
|
dataZoom: {
|
|||
|
|
yAxisIndex: 'none'
|
|||
|
|
},
|
|||
|
|
restore: {},
|
|||
|
|
saveAsImage: {}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
xAxis: {
|
|||
|
|
type: 'category',
|
|||
|
|
boundaryGap: false,
|
|||
|
|
data: arr1
|
|||
|
|
},
|
|||
|
|
yAxis: {
|
|||
|
|
type: 'value',
|
|||
|
|
boundaryGap: [0, '100%']
|
|||
|
|
},
|
|||
|
|
dataZoom: [
|
|||
|
|
{
|
|||
|
|
type: 'inside',
|
|||
|
|
start: 0,
|
|||
|
|
end: 10
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
start: 0,
|
|||
|
|
end: 10
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
series: [
|
|||
|
|
{
|
|||
|
|
type: 'line',
|
|||
|
|
symbol: 'none',
|
|||
|
|
sampling: 'lttb',
|
|||
|
|
itemStyle: {
|
|||
|
|
color: 'rgb(26,179,148)'
|
|||
|
|
},
|
|||
|
|
areaStyle: {
|
|||
|
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|||
|
|
{
|
|||
|
|
offset: 0,
|
|||
|
|
color: 'rgb(26,179,148)'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
offset: 1,
|
|||
|
|
color: 'rgb(26,179,148)'
|
|||
|
|
}
|
|||
|
|
])
|
|||
|
|
},
|
|||
|
|
data: arr1
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//option = {
|
|||
|
|
////title: {
|
|||
|
|
//// text: 'δ<><CEB4>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>±仯',
|
|||
|
|
//// subtext: '<27><><EFBFBD><EFBFBD><EFBFBD>鹹'
|
|||
|
|
////},
|
|||
|
|
//tooltip: {
|
|||
|
|
// trigger: 'axis'
|
|||
|
|
//},
|
|||
|
|
////legend: {
|
|||
|
|
//// data: ['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>']
|
|||
|
|
////},
|
|||
|
|
//xAxis: {
|
|||
|
|
// type: 'category',
|
|||
|
|
// /* boundaryGap: false,*/
|
|||
|
|
// data: arr1
|
|||
|
|
//},
|
|||
|
|
//yAxis: {
|
|||
|
|
|
|||
|
|
// min: Math.min.apply(Math, arr1),
|
|||
|
|
// max: Math.max.apply(Math, arr1),
|
|||
|
|
// type: 'value',
|
|||
|
|
// axisLabel: {
|
|||
|
|
// formatter: '{value} '
|
|||
|
|
// }
|
|||
|
|
//},
|
|||
|
|
//series: [
|
|||
|
|
// {
|
|||
|
|
// type: 'bar',
|
|||
|
|
// data: arr1,
|
|||
|
|
// markLine: {
|
|||
|
|
// data: [
|
|||
|
|
// { type: 'average', name: 'ƽ<><C6BD>ֵ', lineStyle: { color: 'green', type: 'solid', width: 4 } },
|
|||
|
|
// { type: 'max', name: '<27><><EFBFBD><EFBFBD>ֵ' },
|
|||
|
|
// { type: 'min', name: '<27><>Сֵ' },
|
|||
|
|
// ]
|
|||
|
|
// },
|
|||
|
|
// },
|
|||
|
|
|
|||
|
|
//]
|
|||
|
|
//};
|
|||
|
|
mCharts.setOption(option);
|
|||
|
|
|
|||
|
|
//mCharts.on('mousemove', function (params) {
|
|||
|
|
// // <20><><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>ӡ<EFBFBD><D3A1><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// console.log(params);
|
|||
|
|
///* console.log(arr1)*/
|
|||
|
|
// var arr21 = new Array(); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// if (params.componentType == "series") {
|
|||
|
|
|
|||
|
|
// for (var i = 0; i <= params.dataIndex; i++) {
|
|||
|
|
// arr21.push(arr1[i])
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// if (arr21.length > 0) {
|
|||
|
|
// let sun = 0;
|
|||
|
|
// for (var i = 0; i < arr21.length; i++) {
|
|||
|
|
// sun += arr21[i]
|
|||
|
|
// }
|
|||
|
|
// let pingjzhi = sun / arr21.length
|
|||
|
|
// console.log(arr21)
|
|||
|
|
// console.log(pingjzhi)
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
//});
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
var app = new Vue({
|
|||
|
|
el: '#app',
|
|||
|
|
data: {
|
|||
|
|
// <20><>ҳ<EFBFBD><D2B3>̬<EFBFBD><CCAC><EFBFBD>ߵļ<DFB5><C4BC>㹫ʽ
|
|||
|
|
mathJax: '`f(x) = (1 / (\sqrt {2\pi} \sigma)) e^(-(x-\mu)^2/(2\sigma^2))`',
|
|||
|
|
// <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>Ӹ<EFBFBD><D3B8>ڵ<EFBFBD> js <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룩
|
|||
|
|
json: {
|
|||
|
|
"R1": [], "R2": [], "R3": [] },
|
|||
|
|
// ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD>ʼĬ<CABC><C4AC>Ϊ json <20>ļ<EFBFBD>
|
|||
|
|
input: '', // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> watch <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD>㴦<EFBFBD><E3B4A6>
|
|||
|
|
// <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
isSample: true,
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
watch: {
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
input: function (val) {
|
|||
|
|
this.input = val;
|
|||
|
|
this.loadChartsSeried() // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
this.initChartsData('chart') // <20><><EFBFBD><EFBFBD> Echarts ͼ
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
computed: {
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
|
w
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 14:56:w
|
|||
|
|
* */
|
|||
|
|
data: {
|
|||
|
|
get() {
|
|||
|
|
// <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ת<EFBFBD><D7AA>һ<EFBFBD><D2BB>
|
|||
|
|
return this.input.split(',').map(t => parseFloat(t))
|
|||
|
|
},
|
|||
|
|
set(v) {
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> data <20><>ֵ<EFBFBD><D6B5>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (!(v instanceof Array)) return
|
|||
|
|
// ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> input <20><>ֵ
|
|||
|
|
this.input = v.join(',')
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 14:17:24
|
|||
|
|
* */
|
|||
|
|
dataOrderBy() {
|
|||
|
|
const data = this.data.concat([]); // Ϊ<><CEAA>ֹ sort <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>飬<EFBFBD><E9A3AC>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
return data.sort((a, b) => a - b)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>{<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>}
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:59:12
|
|||
|
|
* */
|
|||
|
|
dataAfterClean() {
|
|||
|
|
let res = {}
|
|||
|
|
const data = this.dataOrderBy
|
|||
|
|
for (let i = 0; i < this.data.length; i++) {
|
|||
|
|
let key = parseFloat(this.data[i]).toFixed(1) // <20><><EFBFBD>ﱣ<EFBFBD><EFB1A3> 1 λС<CEBB><D0A1>
|
|||
|
|
if (key !== "NaN" && parseFloat(key) === 0)
|
|||
|
|
key = "0.0" //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>λ<EFBFBD><CEBB> -0.0 <20><> 0.0 <20>ж<EFBFBD>Ϊ<EFBFBD><CEAA>ͬ key <20><> bug
|
|||
|
|
if (res[key])
|
|||
|
|
res[key] += 1
|
|||
|
|
else
|
|||
|
|
res[key] = 1
|
|||
|
|
}
|
|||
|
|
return res
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 14:35:52
|
|||
|
|
* */
|
|||
|
|
dataAfterCleanX() {
|
|||
|
|
return Object.keys(this.dataAfterClean).sort((a, b) => a - b).map(t => parseFloat(t)
|
|||
|
|
.toFixed(1)) // <20><><EFBFBD><EFBFBD> 1 λС<CEBB><D0A1>
|
|||
|
|
// return Object.keys(this.dataAfterClean) // <20><><EFBFBD><EFBFBD>֤˳<D6A4><CBB3>һ<EFBFBD><D2BB>
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <EFBFBD><EFBFBD> dataAfterCleanX ˳<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:59:12
|
|||
|
|
* */
|
|||
|
|
dataAfterCleanY() {
|
|||
|
|
let r = []
|
|||
|
|
for (let i = 0; i < this.dataAfterCleanX.length; i++) {
|
|||
|
|
r.push(this.dataAfterClean[this.dataAfterCleanX[i]])
|
|||
|
|
}
|
|||
|
|
return r
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD><EFBFBD>̶ȸ<EFBFBD>ϸ<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 λС<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <EFBFBD><EFBFBD> dataAfterCleanX ˳<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-29 13:59:22
|
|||
|
|
* */
|
|||
|
|
dataAfterCleanXSub() {
|
|||
|
|
let r = []
|
|||
|
|
for (let i = parseFloat(this.min.toFixed(1)); i <= parseFloat(this.max.toFixed(1)); i +=
|
|||
|
|
0.01)
|
|||
|
|
r.push(i.toFixed(2))
|
|||
|
|
//console.log(r)
|
|||
|
|
return r
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:24:14
|
|||
|
|
* */
|
|||
|
|
sum() {
|
|||
|
|
if (this.data.length === 0) return 0
|
|||
|
|
return this.data.reduce((prev, curr) => prev + curr)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
average() {
|
|||
|
|
return this.sum / this.data.length
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
mode() {
|
|||
|
|
return 0
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
median() {
|
|||
|
|
const data = this.dataOrderBy
|
|||
|
|
return (data[(data.length - 1) >> 1] + data[data.length >> 1]) / 2
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
deviation() {
|
|||
|
|
// 1<><31><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
|||
|
|
const avg = this.average
|
|||
|
|
// 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD> f(x) = x - avg
|
|||
|
|
return this.data.map(x => x - avg)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
variance() {
|
|||
|
|
if (this.data.length === 0) return 0
|
|||
|
|
// 1<><31><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
|||
|
|
const dev = this.deviation
|
|||
|
|
// 2<><32><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
|||
|
|
const sumOfSquOfDev = dev.map(x => x * x).reduce((x, y) => x + y)
|
|||
|
|
// 3<><33><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
|
return sumOfSquOfDev / (this.isSample ? (this.data.length - 1) : this.data.length)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
standardDeviation() {
|
|||
|
|
return Math.sqrt(this.variance)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
standarDevRangeOfOne() {
|
|||
|
|
return {
|
|||
|
|
low: this.average - 1 * this.standardDeviation,
|
|||
|
|
up: this.average + 1 * this.standardDeviation
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:29:43
|
|||
|
|
* */
|
|||
|
|
standarDevRangeOfTwo() {
|
|||
|
|
return {
|
|||
|
|
low: this.average - 2 * this.standardDeviation,
|
|||
|
|
up: this.average + 2 * this.standardDeviation
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:30:49
|
|||
|
|
* */
|
|||
|
|
standarDevRangeOfThree() {
|
|||
|
|
return {
|
|||
|
|
low: this.average - 3 * this.standardDeviation,
|
|||
|
|
up: this.average + 3 * this.standardDeviation
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:19:06
|
|||
|
|
* */
|
|||
|
|
min() {
|
|||
|
|
return Math.min.apply(null, this.data)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:21:16
|
|||
|
|
* */
|
|||
|
|
max() {
|
|||
|
|
return Math.max.apply(null, this.data)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>̬<EFBFBD>ֲ<EFBFBD>(<EFBFBD><EFBFBD>˹<EFBFBD>ֲ<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>㹫ʽ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:46:18
|
|||
|
|
* */
|
|||
|
|
normalDistribution() {
|
|||
|
|
// <20><><EFBFBD>㹫ʽ<E3B9AB><CABD> `f(x) = (1 / (\sqrt {2\pi} \sigma)) e^(-(x-\mu)^2/(2\sigma^2))`
|
|||
|
|
// return (1 / Math.sqrt(2 * Math.PI) * a) * (Math.exp(-1 * ((x - u) * (x - u)) / (2 * a * a)))
|
|||
|
|
let res = []
|
|||
|
|
for (let i = 0; i < this.dataAfterCleanX.length; i++) {
|
|||
|
|
const x = this.dataAfterCleanX[i]
|
|||
|
|
const a = this.standardDeviation
|
|||
|
|
const u = this.average
|
|||
|
|
const y = (1 / (Math.sqrt(2 * Math.PI) * a)) * (Math.exp(-1 * ((x - u) * (x - u)) / (2 *
|
|||
|
|
a * a)))
|
|||
|
|
res.push(y)
|
|||
|
|
}
|
|||
|
|
return res
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Averagemarks() {
|
|||
|
|
// var yArr = [];
|
|||
|
|
// var sumFuc = (s, c) => formulaCalcByFunc(s + c, 6);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>formulaCalcΪ<63>˼<EFBFBD><CBBC>پ<EFBFBD><D9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>д;
|
|||
|
|
// var ysum = this.data.reduce(sumFuc, 0)
|
|||
|
|
// for (var n = 0; n < this.data.length; n++) {
|
|||
|
|
// var y = this.data[n] / ysum;
|
|||
|
|
// yArr.push(y);
|
|||
|
|
// }
|
|||
|
|
// var avg = math.mean(yArr);
|
|||
|
|
//},
|
|||
|
|
|
|||
|
|
AveragemarksRang() {
|
|||
|
|
return (this.max - this.min)/11;
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
created() {},
|
|||
|
|
mounted() {
|
|||
|
|
|
|||
|
|
|
|||
|
|
this.data = arr1;
|
|||
|
|
this.loadChartsSeried() // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
this.initChartsData('chart') // <20><><EFBFBD><EFBFBD> Echarts ͼ
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
methods: {
|
|||
|
|
|
|||
|
|
|
|||
|
|
numFilter(value) {
|
|||
|
|
|
|||
|
|
const realVal = parseFloat(value).toFixed(2);
|
|||
|
|
|
|||
|
|
return realVal;
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Echarts ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* @Params url
|
|||
|
|
*
|
|||
|
|
* @return
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 13:24:26
|
|||
|
|
* */
|
|||
|
|
loadChartsSeried() {
|
|||
|
|
this.json = this.json
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Echarts ͼ
|
|||
|
|
*
|
|||
|
|
* @Params ref<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* @return
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 13:23:26
|
|||
|
|
* */
|
|||
|
|
initChartsData(ref) {
|
|||
|
|
let chart = this.$refs[ref]
|
|||
|
|
if (!chart) return
|
|||
|
|
chart = echarts.init(chart)
|
|||
|
|
// Echarts ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
let options = {
|
|||
|
|
// Echarts ͼ -- <20><><EFBFBD><EFBFBD>
|
|||
|
|
title: {
|
|||
|
|
//text: 'Echarts <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD> 3 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>'
|
|||
|
|
},
|
|||
|
|
// Echarts ͼ -- <20><><EFBFBD><EFBFBD>
|
|||
|
|
tooltip: {},
|
|||
|
|
// Echarts ͼ -- ͼ<><CDBC>
|
|||
|
|
legend: {
|
|||
|
|
data: ['f(x)']
|
|||
|
|
},
|
|||
|
|
// Echarts ͼ -- x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD> -- <20><>̬<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>ֵ
|
|||
|
|
xAxis: [{
|
|||
|
|
// name : "<22><><EFBFBD>̶<EFBFBD>(0.1)",
|
|||
|
|
data: this.dataAfterCleanX,
|
|||
|
|
// min: this.min,
|
|||
|
|
// max: this.max
|
|||
|
|
}],
|
|||
|
|
// Echarts ͼ -- y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD>
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
//name: 'Ƶ<><C6B5>',
|
|||
|
|
position: 'left',
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
splitLine: {
|
|||
|
|
show: false
|
|||
|
|
},
|
|||
|
|
axisLine: {
|
|||
|
|
lineStyle: {
|
|||
|
|
color: 'orange'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
axisLabel: {
|
|||
|
|
formatter: '{value}'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
type: 'value',
|
|||
|
|
//name: '<27><><EFBFBD><EFBFBD>',
|
|||
|
|
position: 'right',
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
splitLine: {
|
|||
|
|
show: false
|
|||
|
|
},
|
|||
|
|
axisLine: {
|
|||
|
|
lineStyle: {
|
|||
|
|
color: 'black'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
axisLabel: {
|
|||
|
|
formatter: '{value}'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
// Echarts ͼ -- y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
series: [{
|
|||
|
|
name: 'Դ<><D4B4><EFBFBD><EFBFBD>', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
type: 'bar', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
yAxisIndex: 0,
|
|||
|
|
barGap: 0,
|
|||
|
|
barWidth: 27,
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
show: true,
|
|||
|
|
color: '#1ab394', //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
borderColor: '#FF7F50' //<2F>߿<EFBFBD><DFBF><EFBFBD>ɫ
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
data: this.dataAfterCleanY, // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- Դ<><D4B4><EFBFBD><EFBFBD>
|
|||
|
|
}, {
|
|||
|
|
name: '<27><>̬<EFBFBD>ֲ<EFBFBD>', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
type: 'line', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
symbol: 'none', //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>еĽڵ<C4BD>
|
|||
|
|
smooth: true, //true Ϊƽ<CEAA><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
yAxisIndex: 1,
|
|||
|
|
data: this.normalDistribution, // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20><>̬<EFBFBD>ֲ<EFBFBD>
|
|||
|
|
// <20><>ʾ<EFBFBD><CABE>
|
|||
|
|
markLine: {
|
|||
|
|
symbol: ['none'], // <20><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
|
|||
|
|
lineStyle: {
|
|||
|
|
type: "silent",
|
|||
|
|
color: "green",
|
|||
|
|
},
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
show: true,
|
|||
|
|
color: 'black'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: true,
|
|||
|
|
position: "middle"
|
|||
|
|
},
|
|||
|
|
data: [{
|
|||
|
|
name: 'һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
xAxis: this.standarDevRangeOfOne.low.toFixed(1),
|
|||
|
|
// <20><> n <20><><EFBFBD><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Сֵ<D0A1><D6B5><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
lineStyle: {
|
|||
|
|
opacity: (this.min > this.standarDevRangeOfOne
|
|||
|
|
.low) ? 0 : 1
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: !(this.min > this.standarDevRangeOfOne.low)
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
name: 'һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
xAxis: this.standarDevRangeOfOne.up.toFixed(1),
|
|||
|
|
lineStyle: {
|
|||
|
|
opacity: (this.max < this.standarDevRangeOfOne.up) ?
|
|||
|
|
0 : 1
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: !(this.max < this.standarDevRangeOfOne.up)
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
xAxis: this.standarDevRangeOfTwo.low.toFixed(1),
|
|||
|
|
lineStyle: {
|
|||
|
|
opacity: (this.min > this.standarDevRangeOfTwo
|
|||
|
|
.low) ? 0 : 1
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: !(this.min > this.standarDevRangeOfTwo.low)
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
xAxis: this.standarDevRangeOfTwo.up.toFixed(1),
|
|||
|
|
lineStyle: {
|
|||
|
|
opacity: (this.max < this.standarDevRangeOfTwo
|
|||
|
|
.up) ? 0 : 1
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: !(this.max < this.standarDevRangeOfTwo.up)
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
xAxis: this.standarDevRangeOfThree.low.toFixed(1),
|
|||
|
|
lineStyle: {
|
|||
|
|
opacity: (this.min > this.standarDevRangeOfThree
|
|||
|
|
.low) ? 0 : 1
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: !(this.min > this.standarDevRangeOfThree.low)
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
xAxis: this.standarDevRangeOfThree.up.toFixed(1),
|
|||
|
|
lineStyle: {
|
|||
|
|
opacity: (this.max < this.standarDevRangeOfThree
|
|||
|
|
.up) ? 0 : 1
|
|||
|
|
},
|
|||
|
|
label: {
|
|||
|
|
show: !(this.max < this.standarDevRangeOfThree.up)
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
name: 'ƽ<><C6BD>ֵ',
|
|||
|
|
// type: 'average',
|
|||
|
|
xAxis: this.average.toFixed(1),
|
|||
|
|
lineStyle: {
|
|||
|
|
color: 'red'
|
|||
|
|
}
|
|||
|
|
}, ]
|
|||
|
|
}
|
|||
|
|
}],
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
chart.setOption(options)
|
|||
|
|
window.addEventListener("resize", () => {
|
|||
|
|
chart.resize()
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
var app2 = new Vue({
|
|||
|
|
el: '#app2',
|
|||
|
|
data: {
|
|||
|
|
// <20><>ҳ<EFBFBD><D2B3>̬<EFBFBD><CCAC><EFBFBD>ߵļ<DFB5><C4BC>㹫ʽ
|
|||
|
|
mathJax: '`f(x) = (1 / (\sqrt {2\pi} \sigma)) e^(-(x-\mu)^2/(2\sigma^2))`',
|
|||
|
|
// <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>Ӹ<EFBFBD><D3B8>ڵ<EFBFBD> js <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룩
|
|||
|
|
json: {
|
|||
|
|
"R1": [], "R2": [], "R3": []
|
|||
|
|
},
|
|||
|
|
// ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1><EFBFBD>ʼĬ<CABC><C4AC>Ϊ json <20>ļ<EFBFBD>
|
|||
|
|
input: '', // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> watch <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD>㴦<EFBFBD><E3B4A6>
|
|||
|
|
// <20>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
isSample: true,
|
|||
|
|
|
|||
|
|
datares: "",
|
|||
|
|
},
|
|||
|
|
watch: {
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
input: function (val) {
|
|||
|
|
this.input = val;
|
|||
|
|
this.loadChartsSeried() // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
this.initChartsData('chart') // <20><><EFBFBD><EFBFBD> Echarts ͼ
|
|||
|
|
},
|
|||
|
|
},
|
|||
|
|
computed: {
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
|
w
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 14:56:w
|
|||
|
|
* */
|
|||
|
|
data: {
|
|||
|
|
get() {
|
|||
|
|
// <20><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ת<EFBFBD><D7AA>һ<EFBFBD><D2BB>
|
|||
|
|
return this.input.split(',').map(t => parseFloat(t))
|
|||
|
|
},
|
|||
|
|
set(v) {
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> data <20><>ֵ<EFBFBD><D6B5>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if (!(v instanceof Array)) return
|
|||
|
|
// ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> input <20><>ֵ
|
|||
|
|
this.input = v.join(',')
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 14:17:24
|
|||
|
|
* */
|
|||
|
|
dataOrderBy() {
|
|||
|
|
const data = this.data.concat([]); // Ϊ<><CEAA>ֹ sort <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>飬<EFBFBD><E9A3AC>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
return data.sort((a, b) => a - b)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>{<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>}
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:59:12
|
|||
|
|
* */
|
|||
|
|
|
|||
|
|
dataAfterClean() {
|
|||
|
|
let res = {}
|
|||
|
|
for (var i = 0; i < 11; i++) {
|
|||
|
|
//<2F>ֳ<EFBFBD>11<31><31>
|
|||
|
|
var res1 = this.min + (this.AveragemarksRang * i);
|
|||
|
|
res1 = String(res1);
|
|||
|
|
if (res1.indexOf(".") != -1) {
|
|||
|
|
//<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD>ȡС<C8A1><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|||
|
|
res1 = res1.substring(0, res1.indexOf(".") + 3);
|
|||
|
|
} else {
|
|||
|
|
//û<><C3BB>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|||
|
|
res1 = res1+".00"
|
|||
|
|
}
|
|||
|
|
if (res1.length != 5) {
|
|||
|
|
//<2F>жϳ<D0B6><CFB3><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
|||
|
|
res1 = res1+"0"
|
|||
|
|
}
|
|||
|
|
res[res1] = 0;
|
|||
|
|
}
|
|||
|
|
var reskey = Object.keys(res);
|
|||
|
|
for (var i = 0; i < this.data.length; i++) {
|
|||
|
|
for (var tmp in res) {
|
|||
|
|
let key = parseFloat(this.data[i]) // <20><><EFBFBD>ﱣ<EFBFBD><EFB1A3> 1 λС<CEBB><D0A1>
|
|||
|
|
if (key !== "NaN" && parseFloat(key) === 0) {
|
|||
|
|
key = "0.0" //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>λ<EFBFBD><CEBB> -0.0 <20><> 0.0 <20>ж<EFBFBD>Ϊ<EFBFBD><CEAA>ͬ key <20><> bug
|
|||
|
|
}
|
|||
|
|
if (key <= tmp) {
|
|||
|
|
res[tmp] += 1;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
for (var i = 0; i < res.length; i++) {
|
|||
|
|
}
|
|||
|
|
this.datares = res;
|
|||
|
|
return res
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 14:35:52
|
|||
|
|
* */
|
|||
|
|
dataAfterCleanX() {
|
|||
|
|
return Object.keys(this.dataAfterClean).sort((a, b) => a - b).map(t => parseFloat(t)
|
|||
|
|
.toFixed(2)) // <20><><EFBFBD><EFBFBD> 1 λС<CEBB><D0A1>
|
|||
|
|
// return Object.keys(this.dataAfterClean) // <20><><EFBFBD><EFBFBD>֤˳<D6A4><CBB3>һ<EFBFBD><D2BB>
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <EFBFBD><EFBFBD> dataAfterCleanX ˳<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:59:12
|
|||
|
|
* */
|
|||
|
|
dataAfterCleanY() {
|
|||
|
|
let r = []
|
|||
|
|
for (let i = 0; i < this.dataAfterCleanX.length; i++) {
|
|||
|
|
r.push(this.dataAfterClean[this.dataAfterCleanX[i]])
|
|||
|
|
}
|
|||
|
|
return r
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ƶ<EFBFBD>ʣ<EFBFBD><EFBFBD>̶ȸ<EFBFBD>ϸ<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 λС<EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <EFBFBD><EFBFBD> dataAfterCleanX ˳<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-29 13:59:22
|
|||
|
|
* */
|
|||
|
|
dataAfterCleanXSub() {
|
|||
|
|
let r = []
|
|||
|
|
for (let i = parseFloat(this.min.toFixed(1)); i <= parseFloat(this.max.toFixed(1)); i +=
|
|||
|
|
0.01)
|
|||
|
|
r.push(i.toFixed(2))
|
|||
|
|
//console.log(r)
|
|||
|
|
return r
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:24:14
|
|||
|
|
* */
|
|||
|
|
sum() {
|
|||
|
|
if (this.data.length === 0) return 0
|
|||
|
|
return this.data.reduce((prev, curr) => prev + curr)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
average() {
|
|||
|
|
return this.sum / this.data.length
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
mode() {
|
|||
|
|
return 0
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
median() {
|
|||
|
|
const data = this.dataOrderBy
|
|||
|
|
return (data[(data.length - 1) >> 1] + data[data.length >> 1]) / 2
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
deviation() {
|
|||
|
|
// 1<><31><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
|||
|
|
const avg = this.average
|
|||
|
|
// 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD> f(x) = x - avg
|
|||
|
|
return this.data.map(x => x - avg)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
variance() {
|
|||
|
|
if (this.data.length === 0) return 0
|
|||
|
|
// 1<><31><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
|||
|
|
const dev = this.deviation
|
|||
|
|
// 2<><32><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
|
|||
|
|
const sumOfSquOfDev = dev.map(x => x * x).reduce((x, y) => x + y)
|
|||
|
|
// 3<><33><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD>
|
|||
|
|
return sumOfSquOfDev / (this.isSample ? (this.data.length - 1) : this.data.length)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
standardDeviation() {
|
|||
|
|
return Math.sqrt(this.variance)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:26:03
|
|||
|
|
* */
|
|||
|
|
standarDevRangeOfOne() {
|
|||
|
|
return {
|
|||
|
|
low: this.average - 1 * this.standardDeviation,
|
|||
|
|
up: this.average + 1 * this.standardDeviation
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:29:43
|
|||
|
|
* */
|
|||
|
|
standarDevRangeOfTwo() {
|
|||
|
|
return {
|
|||
|
|
low: this.average - 2 * this.standardDeviation,
|
|||
|
|
up: this.average + 2 * this.standardDeviation
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 15:30:49
|
|||
|
|
* */
|
|||
|
|
standarDevRangeOfThree() {
|
|||
|
|
return {
|
|||
|
|
low: this.average - 3 * this.standardDeviation,
|
|||
|
|
up: this.average + 3 * this.standardDeviation
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:19:06
|
|||
|
|
* */
|
|||
|
|
min() {
|
|||
|
|
return Math.min.apply(null, this.data)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:21:16
|
|||
|
|
* */
|
|||
|
|
max() {
|
|||
|
|
return Math.max.apply(null, this.data)
|
|||
|
|
},
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>̬<EFBFBD>ֲ<EFBFBD>(<EFBFBD><EFBFBD>˹<EFBFBD>ֲ<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>㹫ʽ
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-28 13:46:18
|
|||
|
|
* */
|
|||
|
|
normalDistribution() {
|
|||
|
|
// <20><><EFBFBD>㹫ʽ<E3B9AB><CABD> `f(x) = (1 / (\sqrt {2\pi} \sigma)) e^(-(x-\mu)^2/(2\sigma^2))`
|
|||
|
|
// return (1 / Math.sqrt(2 * Math.PI) * a) * (Math.exp(-1 * ((x - u) * (x - u)) / (2 * a * a)))
|
|||
|
|
let res = []
|
|||
|
|
for (let i = 0; i < this.dataAfterCleanX.length; i++) {
|
|||
|
|
const x = this.dataAfterCleanX[i]
|
|||
|
|
const a = this.standardDeviation
|
|||
|
|
const u = this.average
|
|||
|
|
const y = (1 / (Math.sqrt(2 * Math.PI) * a)) * (Math.exp(-1 * ((x - u) * (x - u)) / (2 *
|
|||
|
|
a * a)))
|
|||
|
|
res.push(y)
|
|||
|
|
}
|
|||
|
|
return res
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
AveragemarksRang() {
|
|||
|
|
return (this.max - this.min) / 11;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
created() { },
|
|||
|
|
mounted() {
|
|||
|
|
|
|||
|
|
|
|||
|
|
this.data = arr1;
|
|||
|
|
this.loadChartsSeried() // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
this.initChartsData('chart') // <20><><EFBFBD><EFBFBD> Echarts ͼ
|
|||
|
|
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
methods: {
|
|||
|
|
|
|||
|
|
|
|||
|
|
numFilter(value) {
|
|||
|
|
|
|||
|
|
const realVal = parseFloat(value).toFixed(2);
|
|||
|
|
|
|||
|
|
return realVal;
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Echarts ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* @Params url
|
|||
|
|
*
|
|||
|
|
* @return
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 13:24:26
|
|||
|
|
* */
|
|||
|
|
loadChartsSeried() {
|
|||
|
|
this.json = this.json
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Description<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Echarts ͼ
|
|||
|
|
*
|
|||
|
|
* @Params ref<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* @return
|
|||
|
|
|
|||
|
|
* @Date<EFBFBD><EFBFBD> 2020-11-27 13:23:26
|
|||
|
|
* */
|
|||
|
|
initChartsData(ref) {
|
|||
|
|
let chart = this.$refs[ref]
|
|||
|
|
if (!chart) return
|
|||
|
|
chart = echarts.init(chart)
|
|||
|
|
// Echarts ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
let options = {
|
|||
|
|
// Echarts ͼ -- <20><><EFBFBD><EFBFBD>
|
|||
|
|
title: {
|
|||
|
|
//text: 'Echarts <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD> 3 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>'
|
|||
|
|
},
|
|||
|
|
// Echarts ͼ -- <20><><EFBFBD><EFBFBD>
|
|||
|
|
tooltip: {},
|
|||
|
|
// Echarts ͼ -- ͼ<><CDBC>
|
|||
|
|
legend: {
|
|||
|
|
data: ['f(x)']
|
|||
|
|
},
|
|||
|
|
// Echarts ͼ -- x <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD> -- <20><>̬<EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>ֵ
|
|||
|
|
xAxis: [{
|
|||
|
|
// name : "<22><><EFBFBD>̶<EFBFBD>(0.1)",
|
|||
|
|
data: this.dataAfterCleanX,
|
|||
|
|
// min: this.min,
|
|||
|
|
// max: this.max
|
|||
|
|
}],
|
|||
|
|
// Echarts ͼ -- y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD>
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
//name: 'Ƶ<><C6B5>',
|
|||
|
|
position: 'left',
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
splitLine: {
|
|||
|
|
show: false
|
|||
|
|
},
|
|||
|
|
axisLine: {
|
|||
|
|
lineStyle: {
|
|||
|
|
color: 'orange'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
axisLabel: {
|
|||
|
|
formatter: '{value}'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
type: 'value',
|
|||
|
|
//name: '<27><><EFBFBD><EFBFBD>',
|
|||
|
|
position: 'right',
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
splitLine: {
|
|||
|
|
show: false
|
|||
|
|
},
|
|||
|
|
axisLine: {
|
|||
|
|
lineStyle: {
|
|||
|
|
color: 'black'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
axisLabel: {
|
|||
|
|
formatter: '{value}'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
// Echarts ͼ -- y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
series: [{
|
|||
|
|
name: 'Դ<><D4B4><EFBFBD><EFBFBD>', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
type: 'bar', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
yAxisIndex: 0,
|
|||
|
|
barGap: 0,
|
|||
|
|
barWidth: 27,
|
|||
|
|
itemStyle: {
|
|||
|
|
normal: {
|
|||
|
|
show: true,
|
|||
|
|
color: '#1ab394', //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
|
borderColor: '#FF7F50' //<2F>߿<EFBFBD><DFBF><EFBFBD>ɫ
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
data: this.dataAfterCleanY, // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- Դ<><D4B4><EFBFBD><EFBFBD>
|
|||
|
|
}, {
|
|||
|
|
name: '<27><>̬<EFBFBD>ֲ<EFBFBD>', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
type: 'line', // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
symbol: 'none', //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>еĽڵ<C4BD>
|
|||
|
|
smooth: true, //true Ϊƽ<CEAA><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
yAxisIndex: 1,
|
|||
|
|
//data: this.normalDistribution, // y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20><>̬<EFBFBD>ֲ<EFBFBD>
|
|||
|
|
// <20><>ʾ<EFBFBD><CABE>
|
|||
|
|
//markLine: {
|
|||
|
|
// symbol: ['none'], // <20><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
|
|||
|
|
// lineStyle: {
|
|||
|
|
// type: "silent",
|
|||
|
|
// color: "green",
|
|||
|
|
// },
|
|||
|
|
// itemStyle: {
|
|||
|
|
// normal: {
|
|||
|
|
// show: true,
|
|||
|
|
// color: 'black'
|
|||
|
|
// }
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: true,
|
|||
|
|
// position: "middle"
|
|||
|
|
// },
|
|||
|
|
// data: [{
|
|||
|
|
// name: 'һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
// xAxis: this.standarDevRangeOfOne.low.toFixed(1),
|
|||
|
|
// // <20><> n <20><><EFBFBD><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Сֵ<D0A1><D6B5><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// lineStyle: {
|
|||
|
|
// opacity: (this.min > this.standarDevRangeOfOne
|
|||
|
|
// .low) ? 0 : 1
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: !(this.min > this.standarDevRangeOfOne.low)
|
|||
|
|
// }
|
|||
|
|
// }, {
|
|||
|
|
// name: 'һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
// xAxis: this.standarDevRangeOfOne.up.toFixed(1),
|
|||
|
|
// lineStyle: {
|
|||
|
|
// opacity: (this.max < this.standarDevRangeOfOne.up) ?
|
|||
|
|
// 0 : 1
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: !(this.max < this.standarDevRangeOfOne.up)
|
|||
|
|
// }
|
|||
|
|
// }, {
|
|||
|
|
// name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
// xAxis: this.standarDevRangeOfTwo.low.toFixed(1),
|
|||
|
|
// lineStyle: {
|
|||
|
|
// opacity: (this.min > this.standarDevRangeOfTwo
|
|||
|
|
// .low) ? 0 : 1
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: !(this.min > this.standarDevRangeOfTwo.low)
|
|||
|
|
// }
|
|||
|
|
// }, {
|
|||
|
|
// name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
// xAxis: this.standarDevRangeOfTwo.up.toFixed(1),
|
|||
|
|
// lineStyle: {
|
|||
|
|
// opacity: (this.max < this.standarDevRangeOfTwo
|
|||
|
|
// .up) ? 0 : 1
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: !(this.max < this.standarDevRangeOfTwo.up)
|
|||
|
|
// }
|
|||
|
|
// }, {
|
|||
|
|
// name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
// xAxis: this.standarDevRangeOfThree.low.toFixed(1),
|
|||
|
|
// lineStyle: {
|
|||
|
|
// opacity: (this.min > this.standarDevRangeOfThree
|
|||
|
|
// .low) ? 0 : 1
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: !(this.min > this.standarDevRangeOfThree.low)
|
|||
|
|
// }
|
|||
|
|
// }, {
|
|||
|
|
// name: '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC>',
|
|||
|
|
// xAxis: this.standarDevRangeOfThree.up.toFixed(1),
|
|||
|
|
// lineStyle: {
|
|||
|
|
// opacity: (this.max < this.standarDevRangeOfThree
|
|||
|
|
// .up) ? 0 : 1
|
|||
|
|
// },
|
|||
|
|
// label: {
|
|||
|
|
// show: !(this.max < this.standarDevRangeOfThree.up)
|
|||
|
|
// }
|
|||
|
|
// }, {
|
|||
|
|
// name: 'ƽ<><C6BD>ֵ',
|
|||
|
|
// // type: 'average',
|
|||
|
|
// xAxis: this.average.toFixed(1),
|
|||
|
|
// lineStyle: {
|
|||
|
|
// color: 'red'
|
|||
|
|
// }
|
|||
|
|
// },]
|
|||
|
|
//}
|
|||
|
|
}],
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
chart.setOption(options)
|
|||
|
|
window.addEventListener("resize", () => {
|
|||
|
|
chart.resize()
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
})
|