雷达图(Radar)
本章目标:把雷达图在 EasyChart 中“维度标签来源、数值范围如何计算、数据点顺序如何解释”的规则讲清楚,并对应到 Inspector 字段。
1. 适用场景
- 多维指标对比
- 能力/属性雷达
2. 最小可用配置(Checklist)
ChartProfile.coordinateSystem = Polar2D- Series
- 添加 1 条
Serie Serie.type = RadarSerie.seriesData建议至少 3 个点(少于等于 2 个维度运行时不会绘制/无法 hover)
- 添加 1 条
- PolarAxes(推荐配置)
polarAxes.angleAxis.labels:维度名polarAxes.radiusAxis:数值范围(可自动/手动)
3. Inspector 对应字段
-
ChartProfile / Coordinate System
coordinateSystem = Polar2D
-
PolarAxes(建议用这套来配 Radar 的轴)
polarAxes.angleAxis.labels:维度标签polarAxes.radiusAxis.autoRangeMin/autoRangeMax/minValue/maxValue/autoRangeRounding/labelFormat/...
-
Series
series[i].type = Radarseries[i].settings:实际类型为RadarSettingsradar:布局(startAngleDeg / clockwise / innerRadius / outerRadius / plot / background)stroke:折线样式area:面积填充point:点样式(点显示也会影响 hover 拾取半径)
series[i].labelSettings:数据点标签(可显示维度名与数值)
4. SeriesData 字段解释(按运行时代码)
Radar 的关键点是:维度顺序由 seriesData 列表索引决定。
- 数值:使用
SeriesData.value - 维度索引:使用“点在
seriesData里的位置 i”(0..dimensionCount-1) SeriesData.x在 Radar 渲染中 不参与定位(不要依赖 x 来表达维度)
维度数量(dimensionCount)来源:
- 优先
Data.PolarAxes.angleAxis.labels.Count - 如果没配 angleAxis.labels,则使用(优先)某个 Category Axis 的 labels(见第 5 节)
- 再不行就用
seriesData.Count(或多条 serie 取最大 count)
5. 维度标签(Dimension Label)的真实来源顺序
运行时维度名按以下优先级解析:
polarAxes.angleAxis.labels[i]axes[]里某个AxisType.Category的labels[i]- 会优先匹配
Data.XAxisId对应的 Category 轴
- 会优先匹配
seriesData[i].name- 都没有时显示
Dim i
建议:做 Radar 时直接用
polarAxes.angleAxis.labels统一管理维度名;SeriesData.name作为兜底。
6. 数值范围(Radius Axis)如何计算
Radar 的半径值域使用 SeriesData.value 计算:
- 默认会对所有 Radar serie 的 value 做自动范围(auto range)
- 如果你配置了
polarAxes.radiusAxis:autoRangeMin/autoRangeMax会决定 min/max 是否自动minValue/maxValue在对应 autoRange 关闭时生效autoRangeRounding会对自动出来的 min/max 做“整十/整百/自定义单位”的取整labelFormat会影响 tooltip/标签的格式化
7. 常见坑与排错
-
看不到雷达图
- 检查
coordinateSystem是否为Polar2D - 维度数必须大于 2(labels 或 seriesData 至少 3)
- 检查
-
维度对不上/顺序错乱
- Radar 不看
x,它按seriesData的列表顺序当维度顺序 - 需要你在
seriesData里按维度顺序放点
- Radar 不看
-
hover 很难触发
- Radar 的拾取半径和
RadarSettings.point.size相关 - 如果
point.show=false,拾取半径会变成 0(基本不可 hover)
- Radar 的拾取半径和
8. 深入参考
- Series 与数据:
00-WorkflowAndLibrary.md - 常用配方:
05-CommonRecipes.md - FAQ:
06-FAQ.md