其他分享
首页 > 其他分享> > 2020-11-28

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