From a54c50d947de37c91044800b1dbb116e2fa96168 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Wed, 19 Feb 2025 22:52:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0`Tooltip`=E7=9A=84`itemFormat?= =?UTF-8?q?ter`=E5=AF=B9`\n`=E6=8D=A2=E8=A1=8C=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/zh/changelog.md | 1 + .../SimplifiedCandlestickHandler.cs | 82 +++++++++++----- Runtime/Serie/Heatmap/HeatmapHandler.cs | 87 ++++++++++------ Runtime/Serie/Radar/RadarHandler.cs | 78 ++++++++++----- Runtime/Serie/Ring/RingHandler.cs | 46 +++++---- Runtime/Serie/Scatter/BaseScatterHandler.cs | 47 +++++---- Runtime/Serie/SerieHandler.cs | 98 +++++++++++-------- 7 files changed, 282 insertions(+), 157 deletions(-) diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 1bf4e6f8..4fd234fa 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -79,6 +79,7 @@ slug: /changelog ## master +* (2025.02.19) 增加`Tooltip`的`itemFormatter`对`\n`换行的支持 * (2025.02.18) 优化`Tooltip`的对齐方式 * (2025.02.09) 修复`SaveAsImage`保存图片时不支持透明度的问题 (#337) * (2025.02.05) 增加`GraphChart`可单独设置`data`样式的支持 diff --git a/Runtime/Serie/Candlestick/SimplifiedCandlestickHandler.cs b/Runtime/Serie/Candlestick/SimplifiedCandlestickHandler.cs index 94e85c40..dde41762 100644 --- a/Runtime/Serie/Candlestick/SimplifiedCandlestickHandler.cs +++ b/Runtime/Serie/Candlestick/SimplifiedCandlestickHandler.cs @@ -33,37 +33,19 @@ namespace XCharts.Runtime var newMarker = SerieHelper.GetItemMarker(serie, serieData, marker); var newItemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + var isEmptyItemFormatter = string.IsNullOrEmpty(newItemFormatter); - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.category = category; - param.dimension = 1; - param.serieData = serieData; - param.dataCount = serie.dataCount; - param.value = 0; - param.total = 0; - param.color = color; - param.marker = newMarker; - param.itemFormatter = newItemFormatter; - param.numericFormatter = newNumericFormatter; - param.columns.Clear(); - - param.columns.Add(param.marker); - param.columns.Add(serie.serieName); - param.columns.Add(string.Empty); - - paramList.Add(param); - for (int i = 1; i < 5; i++) + if (isEmptyItemFormatter) { - param = new SerieParams(); + var param = serie.context.param; param.serieName = serie.serieName; param.serieIndex = serie.index; - param.dimension = i; + param.category = category; + param.dimension = 1; param.serieData = serieData; param.dataCount = serie.dataCount; - param.value = serieData.GetData(i); - param.total = SerieHelper.GetMaxData(serie, i); + param.value = 0; + param.total = 0; param.color = color; param.marker = newMarker; param.itemFormatter = newItemFormatter; @@ -71,10 +53,56 @@ namespace XCharts.Runtime param.columns.Clear(); param.columns.Add(param.marker); - param.columns.Add(XCSettings.lang.GetCandlestickDimensionName(i - 1)); - param.columns.Add(ChartCached.NumberToStr(param.value, param.numericFormatter)); + param.columns.Add(serie.serieName); + param.columns.Add(string.Empty); paramList.Add(param); + for (int i = 1; i < 5; i++) + { + param = new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.dimension = i; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = serieData.GetData(i); + param.total = SerieHelper.GetMaxData(serie, i); + param.color = color; + param.marker = newMarker; + param.itemFormatter = newItemFormatter; + param.numericFormatter = newNumericFormatter; + param.isSecondaryMark = true; + param.columns.Clear(); + + param.columns.Add(param.marker); + param.columns.Add(XCSettings.lang.GetCandlestickDimensionName(i - 1)); + param.columns.Add(ChartCached.NumberToStr(param.value, param.numericFormatter)); + + paramList.Add(param); + } + } + else + { + newItemFormatter = newItemFormatter.Replace("\\n", "\n"); + var temp = newItemFormatter.Split('\n'); + foreach (var str in temp) + { + var param = new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.category = category; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = 0; + param.total = 0; + param.color = color; + param.marker = newMarker; + param.itemFormatter = str; + param.numericFormatter = newNumericFormatter; + param.isSecondaryMark = false; + param.columns.Clear(); + paramList.Add(param); + } } } diff --git a/Runtime/Serie/Heatmap/HeatmapHandler.cs b/Runtime/Serie/Heatmap/HeatmapHandler.cs index 45554e43..bd67aed9 100644 --- a/Runtime/Serie/Heatmap/HeatmapHandler.cs +++ b/Runtime/Serie/Heatmap/HeatmapHandler.cs @@ -59,24 +59,36 @@ namespace XCharts.Runtime var dimension = VisualMapHelper.GetDimension(visualMap, defaultDimension); title = serie.serieName; + itemFormatter = SerieHelper.GetItemFormatter(serie, null, itemFormatter); + numericFormatter = SerieHelper.GetNumericFormatter(serie, null, numericFormatter); + marker = SerieHelper.GetItemMarker(serie, null, marker); + var color = visualMap.GetColor(value); - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.dimension = dimension; - param.dataCount = serie.dataCount; - param.serieData = null; - param.color = visualMap.GetColor(value); - param.marker = SerieHelper.GetItemMarker(serie, null, marker); - param.itemFormatter = SerieHelper.GetItemFormatter(serie, null, itemFormatter); - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, null, numericFormatter); - param.columns.Clear(); + if (itemFormatter == null) itemFormatter = ""; + itemFormatter = itemFormatter.Replace("\\n", "\n"); + var temp = itemFormatter.Split('\n'); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); - param.columns.Add(param.marker); - param.columns.Add("count"); - param.columns.Add(ChartCached.NumberToStr(value, param.numericFormatter)); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.dimension = dimension; + param.dataCount = serie.dataCount; + param.serieData = null; + param.color = color; + param.marker = marker; + param.itemFormatter = formatter; + param.numericFormatter = numericFormatter; + param.columns.Clear(); - paramList.Add(param); + param.columns.Add(param.marker); + param.columns.Add("count"); + param.columns.Add(ChartCached.NumberToStr(value, param.numericFormatter)); + + paramList.Add(param); + } } else { @@ -96,24 +108,35 @@ namespace XCharts.Runtime category = xAxis.GetData((int)serieData.GetData(0)); } title = serie.serieName; + itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); + numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + marker = SerieHelper.GetItemMarker(serie, serieData, marker); - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.dimension = dimension; - param.dataCount = serie.dataCount; - param.serieData = serieData; - param.color = serieData.context.color; - param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); - param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); - param.columns.Clear(); + if (itemFormatter == null) itemFormatter = ""; + itemFormatter = itemFormatter.Replace("\\n", "\n"); + var temp = itemFormatter.Split('\n'); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); - param.columns.Add(param.marker); - param.columns.Add(category); - param.columns.Add(ChartCached.NumberToStr(serieData.GetData(dimension), param.numericFormatter)); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.dimension = dimension; + param.dataCount = serie.dataCount; + param.serieData = serieData; + param.color = serieData.context.color; + param.marker = marker; + param.itemFormatter = formatter; + param.numericFormatter = numericFormatter; + param.columns.Clear(); - paramList.Add(param); + param.columns.Add(param.marker); + param.columns.Add(category); + param.columns.Add(ChartCached.NumberToStr(serieData.GetData(dimension), param.numericFormatter)); + + paramList.Add(param); + } } } @@ -236,7 +259,7 @@ namespace XCharts.Runtime var xValue = serieData.GetData(0); var yValue = serieData.GetData(1); var i = AxisHelper.GetAxisValueSplitIndex(xAxis, xValue, true, xCount); - var j = AxisHelper.GetAxisValueSplitIndex(yAxis, yValue,true, yCount); + var j = AxisHelper.GetAxisValueSplitIndex(yAxis, yValue, true, yCount); if (serie.IsIgnoreValue(serieData, dimension)) { @@ -368,7 +391,7 @@ namespace XCharts.Runtime var xValue = serieData.GetData(0); var yValue = serieData.GetData(1); var i = AxisHelper.GetAxisValueSplitIndex(xAxis, xValue, true, xCount); - var j = AxisHelper.GetAxisValueSplitIndex(yAxis, yValue,true, yCount); + var j = AxisHelper.GetAxisValueSplitIndex(yAxis, yValue, true, yCount); var key = GetGridKey(i, j); var count = 0; diff --git a/Runtime/Serie/Radar/RadarHandler.cs b/Runtime/Serie/Radar/RadarHandler.cs index 034ada5f..3a7f232b 100644 --- a/Runtime/Serie/Radar/RadarHandler.cs +++ b/Runtime/Serie/Radar/RadarHandler.cs @@ -59,31 +59,63 @@ namespace XCharts.Runtime var colorIndex = serie.colorByData ? chart.GetLegendRealShowNameIndex(serieData.legendName) : serie.context.colorIndex; SerieHelper.GetItemColor(out color, out toColor, serie, serieData, chart.theme, colorIndex, SerieState.Normal); title = serieData.name; - for (int i = 0; i < serieData.data.Count; i++) + + itemFormatter = SerieHelper.GetItemFormatter(serie, null, itemFormatter); + numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + marker = SerieHelper.GetItemMarker(serie, serieData, marker); + if (string.IsNullOrEmpty(itemFormatter)) { - var indicator = radar.GetIndicator(i); - if (indicator == null) continue; + for (int i = 0; i < serieData.data.Count; i++) + { + var indicator = radar.GetIndicator(i); + if (indicator == null) continue; - var param = new SerieParams(); - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.dimension = i; - param.serieData = serieData; - param.dataCount = serie.dataCount; - param.value = serieData.GetData(i); - param.total = indicator.max; - param.color = color; - param.category = radar.GetIndicatorName(i); - param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); - param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); - param.columns.Clear(); + var param = new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.dimension = i; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = serieData.GetData(i); + param.total = indicator.max; + param.color = color; + param.category = radar.GetIndicatorName(i); + param.marker = marker; + param.itemFormatter = itemFormatter; + param.numericFormatter = numericFormatter; + param.columns.Clear(); - param.columns.Add(param.marker); - param.columns.Add(indicator.name); - param.columns.Add(ChartCached.NumberToStr(serieData.GetData(i), param.numericFormatter)); + param.columns.Add(param.marker); + param.columns.Add(indicator.name); + param.columns.Add(ChartCached.NumberToStr(serieData.GetData(i), param.numericFormatter)); - paramList.Add(param); + paramList.Add(param); + } + } + else + { + itemFormatter = itemFormatter.Replace("\\n", "\n"); + var temp = itemFormatter.Split('\n'); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.dimension = i; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = serieData.GetData(i); + param.total = serie.yTotal; + param.color = color; + param.category = radar.GetIndicatorName(i); + param.marker = marker; + param.itemFormatter = formatter; + param.numericFormatter = numericFormatter; + param.columns.Clear(); + + paramList.Add(param); + } } } @@ -284,7 +316,7 @@ namespace XCharts.Runtime } } if (max - min == 0) continue; - var radius = (float) (m_RadarCoord.context.dataRadius * (value - min) / (max - min)); + 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) @@ -415,7 +447,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; diff --git a/Runtime/Serie/Ring/RingHandler.cs b/Runtime/Serie/Ring/RingHandler.cs index cb42ade7..0ca6ffca 100644 --- a/Runtime/Serie/Ring/RingHandler.cs +++ b/Runtime/Serie/Ring/RingHandler.cs @@ -86,27 +86,37 @@ namespace XCharts.Runtime return; Color32 color, toColor; SerieHelper.GetItemColor(out color, out toColor, serie, serieData, chart.theme, dataIndex); + itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); + numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + marker = SerieHelper.GetItemMarker(serie, serieData, marker); - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.category = category; - param.dimension = defaultDimension; - param.serieData = serieData; - param.dataCount = serie.dataCount; - param.value = serieData.GetData(0); - param.total = serieData.GetData(1); - param.color = color; - param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); - param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); - param.columns.Clear(); + if (itemFormatter == null) itemFormatter = ""; + itemFormatter = itemFormatter.Replace("\\n", "\n"); + var temp = itemFormatter.Split('\n'); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.category = category; + param.dimension = defaultDimension; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = serieData.GetData(0); + param.total = serieData.GetData(1); + param.color = color; + param.marker = marker; + param.itemFormatter = formatter; + param.numericFormatter = numericFormatter; + param.columns.Clear(); - param.columns.Add(param.marker); - param.columns.Add(serieData.name); - param.columns.Add(ChartCached.NumberToStr(param.value, param.numericFormatter)); + param.columns.Add(param.marker); + param.columns.Add(serieData.name); + param.columns.Add(ChartCached.NumberToStr(param.value, param.numericFormatter)); - paramList.Add(param); + paramList.Add(param); + } } private Vector3 GetLabelLineEndPosition(Serie serie, SerieData serieData, LabelLine labelLine) diff --git a/Runtime/Serie/Scatter/BaseScatterHandler.cs b/Runtime/Serie/Scatter/BaseScatterHandler.cs index 56c044a8..c8e44eb1 100644 --- a/Runtime/Serie/Scatter/BaseScatterHandler.cs +++ b/Runtime/Serie/Scatter/BaseScatterHandler.cs @@ -29,25 +29,38 @@ namespace XCharts.Runtime title = serie.serieName; - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.category = category; - param.dimension = 1; - param.dataCount = serie.dataCount; - param.serieData = serieData; - param.color = chart.GetMarkColor(serie, serieData); - param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); - param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); - param.columns.Clear(); + itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); + numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + marker = SerieHelper.GetItemMarker(serie, serieData, marker); + var color = chart.GetMarkColor(serie, serieData); - param.columns.Add(param.marker); - if (!string.IsNullOrEmpty(serieData.name)) - param.columns.Add(serieData.name); - param.columns.Add(ChartCached.NumberToStr(serieData.GetData(1), param.numericFormatter)); + if (itemFormatter == null) itemFormatter = ""; + itemFormatter = itemFormatter.Replace("\\n", "\n"); + var temp = itemFormatter.Split('\n'); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); - paramList.Add(param); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.category = category; + param.dimension = 1; + param.dataCount = serie.dataCount; + param.serieData = serieData; + param.color = color; + param.marker = marker; + param.itemFormatter = formatter; + param.numericFormatter = numericFormatter; + param.columns.Clear(); + + param.columns.Add(param.marker); + if (!string.IsNullOrEmpty(serieData.name)) + param.columns.Add(serieData.name); + param.columns.Add(ChartCached.NumberToStr(serieData.GetData(1), param.numericFormatter)); + + paramList.Add(param); + } } public override void DrawSerie(VertexHelper vh) diff --git a/Runtime/Serie/SerieHandler.cs b/Runtime/Serie/SerieHandler.cs index 7c576fb2..4d65f8fe 100644 --- a/Runtime/Serie/SerieHandler.cs +++ b/Runtime/Serie/SerieHandler.cs @@ -497,7 +497,7 @@ namespace XCharts.Runtime { serieData.SetLabelActive(false); continue; - }; + } var currLabel = SerieHelper.GetSerieLabel(serie, serieData); var isIgnore = serie.IsIgnoreIndex(serieData.index, defaultDimension); if (serie.show && @@ -669,28 +669,35 @@ namespace XCharts.Runtime itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter); if (serie.placeHolder || TooltipHelper.IsIgnoreFormatter(itemFormatter)) return; + if (itemFormatter == null) itemFormatter = ""; + var newItemFormatter = itemFormatter.Replace("\\n", "\n"); + var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + var temp = newItemFormatter.Split('\n'); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; + param.category = category; + param.dimension = dimension; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = serieData.GetData(dimension); + param.ignore = ignore; + param.total = serie.yTotal; + param.color = chart.GetMarkColor(serie, serieData); + param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); + param.itemFormatter = formatter; + param.numericFormatter = newNumericFormatter; + param.columns.Clear(); - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.category = category; - param.dimension = dimension; - param.serieData = serieData; - param.dataCount = serie.dataCount; - param.value = serieData.GetData(dimension); - param.ignore = ignore; - param.total = serie.yTotal; - param.color = chart.GetMarkColor(serie, serieData); - param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); - param.itemFormatter = itemFormatter; - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); - param.columns.Clear(); + param.columns.Add(param.marker); + param.columns.Add(showCategory ? category : serie.serieName); + param.columns.Add(ignore ? ignoreDataDefaultContent : ChartCached.NumberToStr(param.value, param.numericFormatter)); - param.columns.Add(param.marker); - param.columns.Add(showCategory ? category : serie.serieName); - param.columns.Add(ignore ? ignoreDataDefaultContent : ChartCached.NumberToStr(param.value, param.numericFormatter)); - - paramList.Add(param); + paramList.Add(param); + } } protected void UpdateItemSerieParams(ref List paramList, ref string title, @@ -721,29 +728,40 @@ namespace XCharts.Runtime Color32 color, toColor; SerieHelper.GetItemColor(out color, out toColor, serie, serieData, chart.theme, colorIndex, SerieState.Normal); - var param = serie.context.param; - param.serieName = serie.serieName; - param.serieIndex = serie.index; - param.category = category; - param.dimension = dimension; - param.serieData = serieData; - param.dataCount = serie.dataCount; - param.value = serieData.GetData(param.dimension); - param.ignore = ignore; - param.total = serie.multiDimensionLabel ? serieData.GetTotalData() : serie.GetDataTotal(defaultDimension); - param.color = color; - param.marker = SerieHelper.GetItemMarker(serie, serieData, marker); - param.itemFormatter = itemFormatter; - param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); - param.columns.Clear(); + if (itemFormatter == null) itemFormatter = ""; + var newItemFormatter = itemFormatter.Replace("\\n", "\n"); + var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); + var temp = newItemFormatter.Split('\n'); + var mark = SerieHelper.GetItemMarker(serie, serieData, marker); + var total = serie.multiDimensionLabel ? serieData.GetTotalData() : serie.GetDataTotal(defaultDimension); + for (int i = 0; i < temp.Length; i++) + { + var formatter = temp[i]; + var param = i == 0 ? serie.context.param : new SerieParams(); + param.serieName = serie.serieName; + param.serieIndex = serie.index; - param.columns.Add(param.marker); - param.columns.Add(serieData.name); + param.category = category; + param.dimension = dimension; + param.serieData = serieData; + param.dataCount = serie.dataCount; + param.value = serieData.GetData(param.dimension); + param.ignore = ignore; + param.total = total; + param.color = color; + param.marker = mark; + param.itemFormatter = formatter; + param.numericFormatter = newNumericFormatter; + param.columns.Clear(); - param.columns.Add(ignore ? ignoreDataDefaultContent : ChartCached.NumberToStr(param.value, param.numericFormatter)); + param.columns.Add(param.marker); + param.columns.Add(serieData.name); - paramList.Add(param); + param.columns.Add(ignore ? ignoreDataDefaultContent : ChartCached.NumberToStr(param.value, param.numericFormatter)); + + paramList.Add(param); + } } public void DrawLabelLineSymbol(VertexHelper vh, LabelLine labelLine, Vector3 startPos, Vector3 endPos, Color32 defaultColor)