Files

1143 lines
39 KiB
JavaScript
Raw Permalink Normal View History

2025-11-20 13:11:05 +08:00
//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()
})
},
}
})