diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 9659d0d4..20f5e8fa 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -68,6 +68,8 @@ slug: /changelog ## master +* (2023.09.05) 修复`Radar`数据全为0时绘制报错的问题 + ## v3.8.0 版本要点: diff --git a/Runtime/Serie/Radar/RadarHandler.cs b/Runtime/Serie/Radar/RadarHandler.cs index 6f32edfb..fbd56eb4 100644 --- a/Runtime/Serie/Radar/RadarHandler.cs +++ b/Runtime/Serie/Radar/RadarHandler.cs @@ -283,7 +283,8 @@ namespace XCharts.Runtime max = serie.context.dataMax; } } - var radius = (float)(m_RadarCoord.context.dataRadius * (value - min) / (max - min)); + if (max - min == 0) continue; + var radius = (float) (m_RadarCoord.context.dataRadius * (value - min) / (max - min)); var currAngle = startAngle + (n + (m_RadarCoord.positionType == RadarCoord.PositionType.Between ? 0.5f : 0)) * angle; radius *= rate; if (n == 0) @@ -414,7 +415,7 @@ namespace XCharts.Runtime { lineColor = m_RadarCoord.outRangeColor; } - var radius = (float)(max < 0 ? m_RadarCoord.context.dataRadius - m_RadarCoord.context.dataRadius * value / max : + var radius = (float) (max < 0 ? m_RadarCoord.context.dataRadius - m_RadarCoord.context.dataRadius * value / max : m_RadarCoord.context.dataRadius * value / max); var currAngle = startAngle + (index + (m_RadarCoord.positionType == RadarCoord.PositionType.Between ? 0.5f : 0)) * angle; radius *= rate;