|
@@ -986,21 +986,19 @@ func GetSectionScatterChartData(mappingList []*models.ChartEdbInfoMapping, edbDa
|
|
|
// 只有存在两个坐标点的时候,才能去计算线性方程和R平方
|
|
|
if len(coordinateData) >= 2 {
|
|
|
a, b = utils.GetLinearResult(coordinateData)
|
|
|
- if math.IsNaN(a) || math.IsNaN(b) {
|
|
|
- err = errors.New("线性方程公式生成失败")
|
|
|
- return
|
|
|
- }
|
|
|
- if b > 0 {
|
|
|
- trendLine = fmt.Sprintf("y=%sx+%s", utils.SubFloatToString(a, 4), utils.SubFloatToString(b, 4))
|
|
|
- } else {
|
|
|
- trendLine = fmt.Sprintf("y=%sx%s", utils.SubFloatToString(a, 4), utils.SubFloatToString(b, 4))
|
|
|
+ if !math.IsNaN(a) || !math.IsNaN(b) {
|
|
|
+ if b > 0 {
|
|
|
+ trendLine = fmt.Sprintf("y=%sx+%s", utils.SubFloatToString(a, 4), utils.SubFloatToString(b, 4))
|
|
|
+ } else {
|
|
|
+ trendLine = fmt.Sprintf("y=%sx%s", utils.SubFloatToString(a, 4), utils.SubFloatToString(b, 4))
|
|
|
+ }
|
|
|
+
|
|
|
+ minYVal, _ = decimal.NewFromFloat(a).Mul(decimal.NewFromFloat(minXVal)).Add(decimal.NewFromFloat(b)).Round(4).Float64()
|
|
|
+ maxYVal, _ = decimal.NewFromFloat(a).Mul(decimal.NewFromFloat(maxXVal)).Add(decimal.NewFromFloat(b)).Round(4).Float64()
|
|
|
}
|
|
|
|
|
|
// 计算R平方
|
|
|
rSquare = fmt.Sprint(utils.CalculationDecisive(coordinateData))
|
|
|
-
|
|
|
- minYVal, _ = decimal.NewFromFloat(a).Mul(decimal.NewFromFloat(minXVal)).Add(decimal.NewFromFloat(b)).Round(4).Float64()
|
|
|
- maxYVal, _ = decimal.NewFromFloat(a).Mul(decimal.NewFromFloat(maxXVal)).Add(decimal.NewFromFloat(b)).Round(4).Float64()
|
|
|
}
|
|
|
|
|
|
trendLimitData = append(trendLimitData, data_manage.CoordinatePoint{
|