2020-11-28
作者:互联网
文章目录
正态分布(vue 实现)
效果图
Html 代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Echarts 绘制正态分布曲线</title>
<!-- 引入数据文件 -->
<script src="json/data.js"></script>
<!-- 引入 vue.js -->
<!-- 工作环境禁止访问该链接,更换为 cdn 资源 -->
<!-- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> -->
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script>
<!-- 引入 echarts.js -->
<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
<!-- 引入 mathJax.js -->
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=AM_HTMLorMML-full"> </script>
</head>
<body>
<div id="app">
<div style="height: 90px; width: 30%; display: inline;">
正态分布曲线函数: {{mathJax}}
</div>
<div style="height: 90px; width: 70%; float: right;">
`\mu` :数学期望
`\sigma` :标准差
</div>
<div ref="chart" id="main" style="width: 1866px;height:823px;"></div>
<div>
</div>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
// 首页正态曲线的计算公式
mathJax: '`f(x) = (1 / (\sqrt {2\pi} \sigma)) e^(-(x-\mu)^2/(2\sigma^2))`',
// 数据源(从隔壁的 js 文件中引入)
json: {},
// 是否为样本数据
isSample: true
},
computed: {
/**
* @Description: 获取数据源
* @Author: ChengduMeng
* @Date: 2020-11-27 14:56:07
* */
data() {
return this.json.Gloss
},
/**
* @Description: 有序数据源(方便操作)
* @Author: ChengduMeng
* @Date: 2020-11-28 14:17:24
* */
dataOrderBy() {
const data = this.data.concat([]); // 为防止 sort 方法修改原数组,对原数组进行拷贝,操作副本。
return data.sort((a, b) => a - b)
},
/**
* @Description: 数据整理。原数据整理为:{数据值 : 数据频率}
* @Author: ChengduMeng
* @Date: 2020-11-28 13:59:12
* */
dataAfterClean() {
let res = {}
const data = this.dataOrderBy
for (let i = 0; i < this.data.length; i++) {
const key = this.data[i]
if (res[key])
res[key] += 1
else
res[key] = 1
}
return res
},
/**
* @Description: 数据整理。返回源数据所有值(排序后)
* @Author: ChengduMeng
* @Date: 2020-11-28 14:35:52
* */
dataAfterCleanX() {
return Object.keys(this.dataAfterClean).sort((a, b) => a - b)
// return Object.keys(this.dataAfterClean) // 不保证顺序一致
},
/**
* @Description: 数据整理。返回源数据所有值对应的频率(排序后) -- 与 dataAfterCleanX 顺序一致
* @Author: ChengduMeng
* @Date: 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: 计算平均数。这里的平均数指的是数学期望、算术平均数
* @Author: ChengduMeng
* @Date: 2020-11-27 15:24:14
* */
sum() {
return this.data.reduce((prev, curr) => prev + curr)
},
/**
* @Description: 计算平均数。这里的平均数指的是数学期望、算术平均数
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
average() {
return this.sum / this.data.length
},
/**
* @Description: 计算众数
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
mode() {
return 0
},
/**
* @Description: 计算中位数
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
median() {
const data = this.dataOrderBy
return (data[(data.length - 1) >> 1] + data[data.length >> 1]) / 2
},
/**
* @Description: 计算偏差
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
deviation() {
// 1、求平均数
const avg = this.average
// 2、返回偏差。 f(x) = x - avg
return this.data.map(x => x - avg)
},
/**
* @Description: 计算总体/样本方差
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
variance() {
// 1、求偏差
const dev = this.deviation
// 2、求偏差平方和
const sumOfSquOfDev = dev.map(x => x * x).reduce((x, y) => x + y)
// 3、返回方差
return sumOfSquOfDev / (this.isSample ? (this.data.length - 1) : this.data.length)
},
/**
* @Description: 计算总体/样本标准差
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
standardDeviation() {
return Math.sqrt(this.variance)
},
/**
* @Description: 计算一倍标准差范围
* @Author: ChengduMeng
* @Date: 2020-11-27 15:26:03
* */
standarDevRangeOfOne() {
return {
low: this.average - 1 * this.standardDeviation,
up: this.average + 1 * this.standardDeviation
}
},
/**
* @Description: 计算三倍标准差范围
* @Author: ChengduMeng
* @Date: 2020-11-27 15:29:43
* */
standarDevRangeOfTwo() {
return {
low: this.average - 2 * this.standardDeviation,
up: this.average + 2 * this.standardDeviation
}
},
/**
* @Description: 计算三倍标准差范围
* @Author: ChengduMeng
* @Date: 2020-11-27 15:30:49
* */
standarDevRangeOfThree() {
return {
low: this.average - 3 * this.standardDeviation,
up: this.average + 3 * this.standardDeviation
}
},
/**
* @Description: 计算最小值
* @Author: ChengduMeng
* @Date: 2020-11-28 13:19:06
* */
min() {
return Math.min.apply(null, this.data)
},
/**
* @Description: 计算最大值
* @Author: ChengduMeng
* @Date: 2020-11-28 13:21:16
* */
max() {
return Math.max.apply(null, this.data)
},
/**
* @Description: 正态分布(高斯分布)计算公式
* @Author: ChengduMeng
* @Date: 2020-11-28 13:46:18
* */
normalDistribution() {
// 计算公式: `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
},
},
mounted() {
this.loadChartsSeried() // 加载数据
this.initChartsData('chart') // 生成 Echarts 图
console.log(`总长度: ${this.data.length}`)
console.log(`总 和: ${this.sum}`)
console.log(`平均值: ${this.average}`)
console.log(`最大值: ${this.max}`)
console.log(`最小值: ${this.min}`)
console.log(`${this.isSample ? '样本' : '总体'}方差 ${this.variance}`)
console.log(`${this.isSample ? '样本' : '总体'}标准差: ${this.standardDeviation}`)
//console.log(`正态分布频率: ${this.normalDistribution}`)
console.log(`一倍标准差范围: ${this.standarDevRangeOfOne.low }>>> ${this.standarDevRangeOfOne.up}`)
console.log(`二倍标准差范围: ${this.standarDevRangeOfTwo.low }>>> ${this.standarDevRangeOfTwo.up}`)
console.log(`三倍标准差范围: ${this.standarDevRangeOfThree.low} >>>${this.standarDevRangeOfThree.up}`)
},
methods: {
/**
* @Description: 加载 Echarts 图所需数据
*
* @Params url
*
* @return
* @Author: ChengduMeng
* @Date: 2020-11-27 13:24:26
* */
loadChartsSeried() {
this.json = json
},
/**
* @Description: 生成 Echarts 图
*
* @Params ref:容器
*
* @return
* @Author: ChengduMeng
* @Date: 2020-11-27 13:23:26
* */
initChartsData(ref) {
let chart = this.$refs[ref]
if (!chart) return
chart = echarts.init(chart)
// Echarts 图的配置
let options = {
// Echarts 图 -- 标题
title: {
text: 'Echarts 绘制正态分布曲线'
},
// Echarts 图 -- 工具
tooltip: {},
// Echarts 图 -- 图例
legend: {
data: ['f(x)']
},
// Echarts 图 -- x 坐标轴刻度 -- 正态分布数值
xAxis: {
data: this.dataAfterCleanX
},
// Echarts 图 -- y 坐标轴刻度
yAxis: [{
type: 'value',
name: '频数',
position: 'left',
// 网格线
splitLine: {
show: false
},
axisLine: {
lineStyle: {
color: 'red'
}
},
axisLabel: {
formatter: '{value}'
}
},
{
type: 'value',
name: '概率',
position: 'right',
// 网格线
splitLine: {
show: false
},
axisLine: {
lineStyle: {
color: 'green'
}
},
axisLabel: {
formatter: '{value}'
}
},
],
// Echarts 图 -- y 轴数据
series: [{
name: '源数据', // y 轴名称
type: 'bar', // y 轴类型
yAxisIndex: 0,
barGap: 0,
barWidth: 27,
data: this.dataAfterCleanY, // y 轴数据 -- 源数据
// 警示线
markLine: {
symbol: ['none'], // 箭头方向
lineStyle: {
type: "silent",
color: "red",
},
itemStyle: {
normal: {
show: true,
color: 'red'
}
},
label: {
show: true,
position: "middle"
},
data: [{
name: '平均值',
type: 'average'
}, ]
}
}, {
name: '正态分布', // y 轴名称
type: 'line', // y 轴类型
yAxisIndex: 1,
data: this.normalDistribution, // y 轴数据 -- 正态分布
// 警示线
markLine: {
symbol: ['none'], // 箭头方向
lineStyle: {
type: "silent",
color: "green",
},
itemStyle: {
normal: {
show: true,
color: 'green'
}
},
label: {
show: true,
position: "middle"
},
data: [{
name: '一倍标准差',
xAxis: this.standarDevRangeOfOne.low.toFixed(1),
}, {
name: '一倍标准差',
xAxis: this.standarDevRangeOfOne.up.toFixed(1),
}, {
name: '二倍标准差',
xAxis: this.standarDevRangeOfTwo.low.toFixed(1),
}, {
name: '二倍标准差',
xAxis: this.standarDevRangeOfTwo.up.toFixed(1),
}, {
name: '三倍标准差',
xAxis: this.standarDevRangeOfThree.low.toFixed(1),
}, {
name: '三倍标准差',
xAxis: this.standarDevRangeOfThree.up.toFixed(1),
}]
}
}],
}
chart.setOption(options)
window.addEventListener("resize", () => {
chart.resize()
})
},
/**
* @Description: 正态分布(高斯分布)计算公式(已将其移动到计算属性中自行计算,该方法暂做保留用于手动传参计算)
*
* @Params x: 未知数
* @Params u: 代替 `\mu`,意为 数学期望,长的像,好区分 *-^
* @Params a: 代替 `\sigma`,意为 标准差
*
* @return
* @Author: ChengduMeng
* @Date: 2020-11-27 15:09:01
* */
// normalDistribution(x, u, a) {
// // 计算公式: `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)))
// },
}
})
</script>
</body>
</html>
原数据
json = {
"Gloss": [
13.3,
12.7,
12.9,
12.3,
12.8,
11.4,
12.7,
12.7,
12.4,
12.5,
12.5,
11.5,
13.1,
12,
12.8,
12.3,
12.4,
12.6,
12.5,
11.8,
12.3,
12.9,
13.3,
12.9,
12.3,
12.6,
12.7,
12.6,
12.8,
12.4,
12.8,
11.9,
11.7,
12.3,
12.4,
12.2,
12,
13.3,
12.6,
13.2,
14.6,
12.6,
12.6,
12.8,
12,
12.3,
12.5,
12.7,
12.3,
11.9,
13.3,
12.5,
13.3,
11.7,
12.4,
12.4,
12.2,
12.5,
12.7,
13,
13.9,
12.6,
12.4,
12.8,
12.5,
12.8,
12.2,
13.4,
14.8,
13.8,
12.8,
12.4,
12.3,
12.6,
12.6,
12.8,
12.7,
12.2,
12.2,
12.6,
12.1,
12.2,
12.6,
12,
11.7,
12.5,
11.9,
14.3,
12.5,
12.4,
14.9,
12.7,
12.6,
12,
11.8,
12.3,
14.3,
12.3,
13.2,
13.3,
11.9,
13.1,
13,
11.1,
11.8,
12.9,
12.5,
12.3,
12.9,
13,
11.7,
12.9,
12.1,
12.4,
13.1,
13.1,
13,
15.4,
13.3,
12.4,
12.2,
12,
13.7,
11.9,
12.4,
12.7,
13.6,
11.3,
12.3,
12.4,
13.5,
12.2,
12.5,
13.4,
12.2,
11.5,
11.2,
13.7,
10.5,
12.9,
14.8,
14.2,
13.5,
13.9,
14.5,
12.5,
13.2,
12.5,
12.4,
14.2,
12.2,
13,
12.8,
12.8,
13.7,
12.5,
12.6,
13.9,
13.1,
11.9,
13.6,
12.4,
13.1,
13.3,
14.4,
11.8,
12.7,
12.7,
12.9,
12.6,
14.3,
12.5,
12.6,
12.8,
14.2,
12.5,
12.6,
12.9,
14.1,
14.2,
13.5,
12,
13.2,
12.3,
12.1,
11.1,
11.9,
12.8,
13.5,
13.2,
13.9,
13.2,
12.7,
12.5,
12.6,
11.7,
12.4,
12.4,
12.6,
12.6,
14.9,
12.8,
13,
13.8,
12.5,
12.2,
12.5,
13.3,
12.2,
12.7,
12.8,
12.8,
12,
13.2,
11.3,
11.3,
11.8,
11.4,
11.5,
11.8,
11.1,
10.9,
11.2,
11.4,
11.3,
11.4,
11.4,
11.3,
11.7,
10.9,
11.4,
10.9,
11.5,
11.8,
11.7,
11.9,
11.5,
11.3,
11.4,
11.5,
12.2,
12,
12.1,
11.7,
11.8,
11.5,
12.1,
11.4,
12,
12.1,
11.9,
11.5,
11.7,
11.9,
13.6,
11.4,
11.5,
13.8,
15.1,
12.8,
13,
12.6,
12,
13,
13.7,
12.5,
12.6,
10,
13.9,
9.7,
10.4,
10.7,
11.9,
12.5,
12,
11.6,
12.2,
12.5,
12.8,
12.2,
12.1,
12.3,
13.4,
12.4,
12,
12.5,
12.2,
12,
11.9,
11.9,
12,
11.5,
12.5,
11.8,
12.4,
11.4,
11.8,
10.9,
11.1,
11.6,
11.4,
11.9,
11.5,
10.6,
10.3,
10.6,
10,
10.4,
12.5,
11.9,
11.7,
12,
11.2,
11.3,
11.2,
11.6,
11.2,
11.1,
11.1,
11.4,
11.8,
11.8,
11.5,
11.5,
12,
11.2,
12.2,
11.8,
12.8,
11.5,
12,
11.9,
10.4,
11.2,
11.7,
11.1,
11.3,
11.5,
11.7,
11.2,
11.5,
10.9,
11.5,
11.2,
11.4,
11,
11.5,
11.7,
12.3,
11.7,
11.5,
11.5,
11.4,
12,
11.5,
10.7,
10.9,
11.3,
11.8,
11,
10.2,
10,
10.7,
11,
11.4,
13.3,
9.7,
10.4,
10.7,
10.8,
9.9,
11.3,
12.5,
11.1,
11.6,
11.7,
11.7,
11.2,
11.9,
11.3,
12.2,
13.2,
11.7,
12.9,
12.2,
12.2,
10.6,
11.3,
11.4,
10.7,
11.6,
11.7,
13,
12.1,
11.8,
12,
12,
11.4,
11.4,
11.3,
11.8,
11.9,
12.4,
11.4,
11.2,
11.3,
11.7,
11.5,
12.5,
11.3,
11.4,
12,
11.2,
11.7,
11.2,
11.2,
11,
11.1,
11.2,
11.1,
11.5,
12,
10.5,
12.2,
11.1,
11,
10.5,
9.8,
10.9,
13,
10.6,
10.5,
12.1,
10.7,
11.5,
12.5,
10.5,
10.2,
12.9,
12.9,
10.8,
10.7,
10.7,
11,
11.4,
11.1,
11.2,
11.5,
11.2,
11.2,
10.8,
11.2,
11.5,
11.4,
11.7,
11.2,
11.5,
11.7,
11.4,
11.5,
11.7,
11.5,
9.9,
11.5,
11,
11.7,
11.6,
12.1,
12,
13,
13.6,
12.4,
11,
11.2,
11,
12.2,
11.5,
12.2,
12.2,
12.8,
11.8,
11,
11.4,
14,
13.2,
13,
12.1,
11.3,
12.1,
11.8,
12.3,
11.4,
11.5,
12.8,
11.8,
12.1,
11.4,
12.4,
12.2,
11.4,
11.4,
12.1,
12.1,
10.8,
11.2,
12.1,
11.4,
12.5,
11.5,
11.8,
11.9,
11.9,
10.9,
11.3,
12.5,
12,
11.8,
13.2,
12.4,
11.8,
11.8,
12,
13.5,
12.3,
11.4,
12,
11.3,
12.4,
12.2,
12.1,
11.5,
11.8,
11.2,
12.2,
12.1,
9.5,
12.4,
11.1,
12.5,
12.1,
11.9,
11.4,
13.1,
12.2,
12.4,
12.5,
12.4,
11.7,
11.8,
12.1,
13.1,
11.9,
11.2,
12.1,
13.6,
11,
13.8,
11.8,
11.5,
11.2,
13.8,
12,
12.5,
13.5,
12.4,
12.9,
12.8,
13.7,
12.8,
12,
13.2,
12.6,
12.7,
13.5,
11.7,
12.9,
12.3,
11.9,
14.2,
13.2,
13,
14.1,
12,
13.3,
12.5,
12.2,
13,
12.6,
13,
12.8,
12.3,
13.5,
13,
13.3,
13.3,
13.1,
12.7,
12.2,
12.9,
12.3,
13.1,
12.8,
12.9,
12.1,
12,
12.2,
13.1,
12.8,
12.7,
13.2,
12.7,
12.3,
12,
12.1,
12.3,
12.3,
12.4,
12.6,
12.5,
12.4,
11.7,
12.9,
12.4,
13.1,
11.9,
12,
11.4,
12.7,
11.2,
12.1,
12.5,
12.5,
12.4,
12.1,
12.3,
12.2,
12.4,
12.6,
11,
11.1,
11.4,
11.2,
11.2,
11.2,
11,
10.8,
11.5,
11.2,
11,
11,
11.2,
11.1,
11,
11.1,
11,
11.2,
11,
11.2,
11.5,
11.3,
11,
10.8,
10.7,
10.9,
10.7,
11,
11.4,
10.9,
11,
10.7,
11.2,
11.2,
11.5,
10.8,
11.2,
11,
11.3,
11.1,
11.4,
11.5,
10.6,
11.1,
10.9,
11,
10.4,
10.6,
10.3,
11,
11.1,
10.7,
10.9,
11.4,
11,
11.5,
10.6,
11,
10.9,
11.2,
11,
10.8,
11.3,
11.9,
10.4,
12,
12.2,
12.5,
12.2,
12.2,
12.2,
12.2,
11.5,
12,
11.5,
12.4,
11.8,
12.3,
11.7,
12,
11.7,
12,
11.7,
12.1,
12.1,
11.3,
11.3,
11.4,
11.5,
11.7,
11,
11.1,
11.3,
10.5,
11.3,
11,
10.5,
11.3,
10.9,
11.2,
11,
11.2,
11.5,
11.2,
10.8,
11.6,
11.2,
11.4,
10.7,
11.3,
11.5,
11.2,
11.8,
11.7,
12.2,
11.6,
12.4,
11.2,
11.1,
10.9,
11.2,
11.5,
11,
11.8,
11.4,
11.1,
12,
11.7,
11,
11.8,
11.8,
11.7,
11.8,
11.1,
11.5,
11.8,
11.2,
11.4,
11.6,
11.3,
11.5,
11.6,
11.8,
11.5,
11.5,
11.5,
12.6,
12.4,
11.9,
12.6,
11.3,
11.5,
12.5,
11.7,
12.2,
11.5,
11.8,
12.8,
12.1,
11.5,
12.4,
12.5,
11.3,
11.7,
11.3,
11.4,
11.5,
11.7,
12.4,
12.4,
11.9,
12.2,
12.2,
13,
12.2,
11.5,
12.4,
11.5,
12.4,
12.4,
12,
12.5,
11.9,
12.2,
12.3,
12.2,
11.8,
12.2,
12.3,
12.5,
12.1,
12,
11.5,
12,
13,
12.2,
12.5,
12.5,
12.5,
12,
12.1,
12.1,
12.3,
12.2,
12.2,
12.5,
12.5,
12,
11.9,
11.7,
11.3,
11,
12.5,
11,
12.1,
11.5,
12.2,
12.5,
12.5,
12.7,
12.1,
11.8,
11.8,
12.3,
12.3,
12.8,
12.8,
13,
11.3,
11.7,
12.5,
11.9,
11.2,
11.7,
11.4,
12.5,
11.7,
12.5,
12.5,
12.4,
12.1,
13,
12.4,
12,
11.5,
11.7,
11.7,
12,
11.9,
11.7,
11,
11.5,
11.5,
12,
11.4,
11.5,
11.7,
11.7,
11.4,
11.6,
11.2,
11.2,
11.4,
12.5,
11.7,
11.8,
12.2,
11.7,
12,
12,
12.3,
11.1,
11.1,
11.2,
11.3,
10,
12.3,
10.4,
10.2,
11.7,
11.2,
12,
10.2,
10.1,
10.2,
10.4,
12.2,
12.2,
13,
11.5,
10.7,
11.9,
10.3,
12.6,
11,
10.1,
12.2,
12.2,
12.6,
12.6,
10.7,
12.2,
10.1,
10.9,
10.2,
10.4,
10.7,
10.3,
11.2,
10.8,
10.7,
11.2,
11.7,
12,
11.1,
11.7,
11.5,
11.4,
12,
11.2,
11.4,
11.3,
11.1,
11.5,
11.3,
11.2,
11.5,
11.2,
11.2,
11,
11.2,
11.6,
11.2,
11.5,
11.2,
10.1,
10.2,
10.4,
10.8,
10.9,
10.7,
10.7,
11.5,
10.5,
11.1,
11.4,
11.2,
12,
11.4,
11.6,
11.5,
11.5,
11,
11.3,
10.6,
11.2,
11.2,
11.4,
11.3,
11.2,
12,
11.8,
10.8,
12,
11.8,
11.7,
11.8,
11.2,
10.8,
11,
11.2,
10.7,
11.6,
11,
11.1,
10.5,
10.8,
10.2,
10.7,
10.7,
11.7,
10.4,
10.3,
10.6,
11.4,
10.8,
10.2,
10.6,
10.7,
11,
10.4,
10.4,
11,
10.8,
11,
10.7,
12,
12.3,
10.5,
12,
12.1,
10.9,
11.5,
11.2,
11.9,
10.4,
11.9,
12.4,
10.6,
10.6,
12.2,
10.6,
10,
11.9,
10.7,
10.2,
10.7,
12.4,
11.7,
12.5,
11.4,
10.7,
10.2,
11.2,
10.4,
11.2,
11.3,
12.3,
10.2,
10.9,
11,
11,
11.5,
10.2,
10.6,
10.8,
10.4,
10.6,
11,
10.4,
10.2,
10.2,
10.4,
10.9,
10.4,
10.5,
10.4,
11.4,
10.4,
11.2,
10.4,
11.5,
10.3,
10.7,
10.6,
11,
10.4,
10.7,
10.8,
10.5,
10.6,
11.2,
11.7,
11.3,
11.2,
11.5,
11.6,
11.9,
11.8,
11.2,
11.7,
11.5,
11.5,
11,
10.9,
10.9,
11.2,
11.1,
11.2,
11.3,
11.1,
11,
11.6,
11.2,
11.3,
11.2,
11.3,
11,
11.5,
11.6,
10.9,
11,
11.7,
11.9,
10.6,
11.2,
10.9,
11.5,
11.7,
11.2,
11.3,
11.6,
11.2,
11.5,
11,
12,
12,
11.8,
11.2,
11.5,
11.6,
10.6,
11.1,
11.8,
11.1,
11.1,
11,
10.7,
12,
11.6,
12.4,
12.4,
10.7,
11.2,
12.2,
11.2,
11,
11.3,
11.1,
11.2,
11.1,
11.2,
11.5,
11.4,
11,
11.2,
11.2,
11.5,
11.8,
11.4,
11.5,
11.5,
11,
11.3,
11,
11.2,
11.1,
11.4,
11.3,
10.7,
11.3,
11.2,
10.7,
10.9,
11.6,
11.2,
10.9,
11.2,
11,
11.2,
10.8,
11.2,
11,
11.2,
11.2,
11.3,
11,
11,
10.7,
11.1,
11.5,
11,
11,
11,
11,
11.4,
11.2,
11.1,
12,
11.6,
12,
11.2,
11.9
]
}
标签:11,12,11.5,11.7,28,11.2,12.2,2020 来源: https://blog.csdn.net/shaotaiban1097/article/details/110287608