From d77f330713e6e892cb8e7b2a27901905b32c4bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=8D=A3=E5=AE=8F?= <2241220001@qq.com> Date: Sat, 31 Aug 2024 14:14:20 +0800 Subject: [PATCH] =?UTF-8?q?R=E5=B9=B3=E6=96=B9=E7=AE=97=E6=B3=95=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=EF=BC=8C=E7=AE=AD=E5=A4=B4=E5=AF=BC=E5=87=BA=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E4=B8=8D=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/arrow.png | Bin 0 -> 248 bytes src/components/rtReport/index.vue | 32 ++++++++++++++++++++++++++++-- vue.config.js | 6 ++++-- 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 src/assets/images/arrow.png diff --git a/src/assets/images/arrow.png b/src/assets/images/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..9e493479fed2ed50dfbc1485c38be1f222bde747 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^-XP4u1|%)~s$K!9{hlt4Ar*7pUfJl`;waE?(ck3i z0ih!f8yKBe8*EfPy`jx`bA$1>AZ~$TW=BCis|n79JLCUclESG%nKX}#RbDZW)kyeyJO-1rzyRk9@}T1nrwP2%hs~{t4glv m@wB~R&x`BhV3socalOj!d&AMhxmc acc + val, 0) / y.length; + // 计算回归平方和(SSR) + const totalSumOfSquares = yHat.map(val => Math.pow(val - meanY, 2)).reduce((acc, val) => acc + val, 0); + // 计算残差平方和(SSE) + const residualSum = y.map((val, index) => Math.pow(val - yHat[index], 2)).reduce((acc, val) => acc + val, 0); + // 计算回归平方和(SST) + const residualSumOfSquares = totalSumOfSquares + residualSum; + // 计算 R2 决定系数 + const rSquared = 1 - (residualSum / residualSumOfSquares); + return rSquared; + }, drawPie(errorVala) { let data = []; let xArr = []; + const observedValues = []; + const predictedValues = []; for (let i in errorVala) { const a = [errorVala[i].cre_imageValue, errorVala[i].cre_deviation]; xArr.push(errorVala[i].cre_imageValue); data.push(a); + observedValues.push(errorVala[i].cre_deviation); + predictedValues.push(errorVala[i].cre_imageValue); } // const x_limit = Math.abs(Math.max(...xArr) / xArr.length); //多项式回归 @@ -328,6 +347,8 @@ export default { }).reduce((acc, curr) => acc + curr, 0); let rmseValue = "RMSE = "+ Math.sqrt(wcpf/data.length); let myRegression = this.echartRegression("polynomial", data, 1); + // 计算 R2 决定系数 + this.erR2 = "r² = " + this.calculateR2(observedValues, predictedValues); var option = { title: { text: this.pdSubTypeName + "误差结果图", @@ -416,10 +437,16 @@ export default { { name: "r2", icon: "circle", + itemStyle: { + color:"#FFF" + } }, { name:"RMSE", icon: "circle", + itemStyle: { + color:"#FFF" + } } ], formatter: (name) => { @@ -600,7 +627,8 @@ export default { }, { // symbol: "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAjVJREFUeF7tmM1JAwEYBb90Yg1WYGeWYhd69OTVEjxagldlJeAfibtkIBOYgARk8/ZlJm/jupseKgI7VZvKTEJkH4KEJERGQFanhSRERkBWp4UkREZAVqeFJERGQFanhSRERkBWp4UkREZAVqeFJERGQFanhSRERkBWp4UkREZAVqeFJERGQFanhSRERkBWp4UkREZAVqeFJERGQFanhSRERkBWp4UkREZAVqeFJERGQFanhSRERkBWp4UkREZAVqeFJERGQFanhSRERkBWp4UkREaAq3M9M8+nxrWQUwl+vf59Zl5m5mFm7vfPy+82PRKyCdfRg3/Df9tLWQQtP69rTpWQNZTWHfPfGp6+CTp4aVuE3M7MzbpzdtQRAlsYHry0LUIeE3LWD9qPS1tCzuri8+R/hNzNzNX5e118A+ySdfEkJG8A+1KXvJ+Lr9GfvTKF3RjKhPSvE5kQpE536ghGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLiQhHEskKSEIRi4kIRxLJCkhCEYuJCEcSyQpIQhGLuQDLNIwmfEn5ZUAAAAASUVORK5CYII=", - symbol: "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAAv0lEQVR4nO3UsUmEQRCA0U801cASxECwAUOrMLEly7CGM7OAM/ZSCxBzA0ERLjqQQ3G5X//3YLPdYWZ2dgMAAAAAAAAAAIBd25/hDVxUR9Xzdw/OsVmn1bK6qk6qt+ppAnlN0mX1vrFeqtvqujr+Kum9CRe1HBT3sDrbsue+WlR31WpQHr9q8/Z3tR6rm8/CDibcrIdBcf/lZI3y4z9rypM12mo9OYv1JG01x2a9Vudzf14AAAAAAAAAAAD8RdUHTdhBNENzGoYAAAAASUVORK5CYII=", + // symbol: "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAAv0lEQVR4nO3UsUmEQRCA0U801cASxECwAUOrMLEly7CGM7OAM/ZSCxBzA0ERLjqQQ3G5X//3YLPdYWZ2dgMAAAAAAAAAAIBd25/hDVxUR9Xzdw/OsVmn1bK6qk6qt+ppAnlN0mX1vrFeqtvqujr+Kum9CRe1HBT3sDrbsue+WlR31WpQHr9q8/Z3tR6rm8/CDibcrIdBcf/lZI3y4z9rypM12mo9OYv1JG01x2a9Vudzf14AAAAAAAAAAAD8RdUHTdhBNENzGoYAAAAASUVORK5CYII=", + symbol:"image://" + arrow, symbolRotate: (number, params) => { console.log(number, params); return bearingArr[params.dataIndex]; diff --git a/vue.config.js b/vue.config.js index 00e84bb..04e9991 100644 --- a/vue.config.js +++ b/vue.config.js @@ -35,7 +35,8 @@ module.exports = { } }, [process.env.VUE_APP_REALITY_API]: { - target: "https://124.16.188.131:28092/microwave", + target: "http://192.168.88.199:18092/microwave", + // target: "https://124.16.188.131:28092/microwave", // target: "http://192.168.1.227:18092/microwave", changeOrigin: true, pathRewrite: { @@ -43,7 +44,8 @@ module.exports = { } }, [process.env.VUE_APP_FILE_API]: { - target: "https://124.16.188.131:28093/file", + target: "http://192.168.88.199:18093/file", + // target: "https://124.16.188.131:28093/file", // target: "http://192.168.1.227:18093/file", changeOrigin: true, pathRewrite: {