From 62f071e5a916f26fc7effdfecaf53783d1f08080 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Wed, 19 Mar 2025 23:03:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0`Serie`=E7=9A=84`Label`?= =?UTF-8?q?=E7=9A=84`formatter`=E6=94=AF=E6=8C=81`{index}`=E9=80=9A?= =?UTF-8?q?=E9=85=8D=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/zh/changelog.md | 1 + Runtime/Component/Label/SerieLabelHelper.cs | 2 +- Runtime/Helper/FormatterHelper.cs | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 501eab79..01eb2346 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -80,6 +80,7 @@ slug: /changelog ## master +* (2025.03.19) 增加`Serie`的`Label`的`formatter`支持`{index}`通配符 * (2025.03.18) 增加`Bar`可添加`TitleStyle`组件支持 * (2025.03.18) 增加`LabelStyle`的`fixedX`和`fixedY`可固定label的坐标 * (2025.03.17) 增加`ItemStyle`的`backgroundGap`可设置数据项背景间隙 diff --git a/Runtime/Component/Label/SerieLabelHelper.cs b/Runtime/Component/Label/SerieLabelHelper.cs index b05ffaae..2cd9428a 100644 --- a/Runtime/Component/Label/SerieLabelHelper.cs +++ b/Runtime/Component/Label/SerieLabelHelper.cs @@ -45,7 +45,7 @@ namespace XCharts.Runtime { var content = serieLabel.formatter; FormatterHelper.ReplaceSerieLabelContent(ref content, numericFormatter, serie.dataCount, dataValue, - dataTotal, serieName, dataName, dataName, color, serieData, chart, serie.index); + dataTotal, serieName, dataName, dataName, color, serieData, chart, serie.index, serie.useSortData); if (serieLabel.formatterFunction == null) return content; else diff --git a/Runtime/Helper/FormatterHelper.cs b/Runtime/Helper/FormatterHelper.cs index 57ae9d48..6d1c4be5 100644 --- a/Runtime/Helper/FormatterHelper.cs +++ b/Runtime/Helper/FormatterHelper.cs @@ -212,7 +212,8 @@ namespace XCharts.Runtime } public static void ReplaceSerieLabelContent(ref string content, string numericFormatter, int dataCount, double value, double total, - string serieName, string category, string dataName, Color color, SerieData serieData, BaseChart chart = null, int serieIndex = 0) + string serieName, string category, string dataName, Color color, SerieData serieData, BaseChart chart = null, int serieIndex = 0, + bool sortData = false) { var mc = s_RegexForSerieLabel.Matches(content); foreach (var m in mc) @@ -309,6 +310,7 @@ namespace XCharts.Runtime } } } + ReplaceIndexContent(ref content, sortData ? serieData.sortIndex : serieData.index, dataCount); content = TrimAndReplaceLine(content); }