public void RefreshLabel() { for (int i = 0; i < chart.series.Count; i++) { var serie = chart.series.GetSerie(i); if (serie.type != SerieType.Radar) { continue; } if (!serie.show && serie.radarType != RadarType.Single) { continue; } var radar = chart.GetRadar(serie.radarIndex); if (radar == null) { continue; } var center = radar.runtimeCenterPos; for (int n = 0; n < serie.dataCount; n++) { var serieData = serie.data[n]; if (serieData.labelObject == null) { continue; } var serieLabel = SerieHelper.GetSerieLabel(serie, serieData); var iconStyle = SerieHelper.GetIconStyle(serie, serieData); var labelPos = serieData.labelPosition; if (serieLabel.margin != 0) { labelPos += serieLabel.margin * (labelPos - center).normalized; } serieData.labelObject.SetPosition(labelPos); serieData.labelObject.UpdateIcon(iconStyle); if (serie.show && serieLabel.show && serieData.canShowLabel) { var value = serieData.GetCurrData(1); var max = radar.GetIndicatorMax(n); SerieLabelHelper.ResetLabel(serieData.labelObject.label, serieLabel, chart.theme, i); serieData.SetLabelActive(serieData.labelPosition != Vector3.zero); serieData.labelObject.SetLabelPosition(serieLabel.offset); var content = SerieLabelHelper.GetFormatterContent(serie, serieData, value, max, serieLabel, Color.clear); if (serieData.labelObject.SetText(content)) { chart.RefreshPainter(serie); } } else { serieData.SetLabelActive(false); } } } }