mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-18 06:20:15 +00:00
修复Serie开启ignore时被忽略的数据还会参与计算的问题 (#161)
This commit is contained in:
@@ -39,6 +39,7 @@
|
||||
|
||||
## master
|
||||
|
||||
* (2021.07.29) Fixed ignored data will also participate in calculations when `ignore` is enabled (#161)
|
||||
* (2021.07.29) Improved `BarChart`'s `Zebra` gradient support
|
||||
* (2021.07.26) Fixed issue where `XCharts` path could not be found when `TextMeshPro Enable` (#160)
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
## master
|
||||
|
||||
* (2021.07.29) 修复`Serie`开启`ignore`时被忽略的数据还会参与计算的问题 (#161)
|
||||
* (2021.07.29) 完善`BarChart`的`Zebra`斑马柱图渐变支持
|
||||
* (2021.07.26) 修复`TextMeshPro Enable`时找不到`XCharts`路径的问题 (#160)
|
||||
|
||||
|
||||
@@ -1245,7 +1245,7 @@ namespace XCharts
|
||||
var max = double.MinValue;
|
||||
foreach (var sdata in data)
|
||||
{
|
||||
if (sdata.show && sdata.data[1] > max)
|
||||
if (sdata.show && !IsIgnoreValue(sdata.data[1]) && sdata.data[1] > max)
|
||||
{
|
||||
max = sdata.data[1];
|
||||
}
|
||||
@@ -1264,7 +1264,7 @@ namespace XCharts
|
||||
var max = double.MinValue;
|
||||
foreach (var sdata in data)
|
||||
{
|
||||
if (sdata.show && sdata.data[0] > max)
|
||||
if (sdata.show && !IsIgnoreValue(sdata.data[0]) && sdata.data[0] > max)
|
||||
{
|
||||
max = sdata.data[0];
|
||||
}
|
||||
@@ -1283,7 +1283,7 @@ namespace XCharts
|
||||
var min = double.MaxValue;
|
||||
foreach (var sdata in data)
|
||||
{
|
||||
if (sdata.show && sdata.data[1] < min)
|
||||
if (sdata.show && !IsIgnoreValue(sdata.data[1]) && sdata.data[1] < min)
|
||||
{
|
||||
min = sdata.data[1];
|
||||
}
|
||||
@@ -1302,7 +1302,7 @@ namespace XCharts
|
||||
var min = double.MaxValue;
|
||||
foreach (var sdata in data)
|
||||
{
|
||||
if (sdata.show && sdata.data[0] < min)
|
||||
if (sdata.show && !IsIgnoreValue(sdata.data[0]) && sdata.data[0] < min)
|
||||
{
|
||||
min = sdata.data[0];
|
||||
}
|
||||
@@ -1321,9 +1321,8 @@ namespace XCharts
|
||||
double total = 0;
|
||||
foreach (var sdata in data)
|
||||
{
|
||||
if (sdata.show)
|
||||
if (sdata.show && !IsIgnoreValue(sdata.data[1]))
|
||||
total += sdata.GetCurrData(1, animation.GetUpdateAnimationDuration());
|
||||
//total += sdata.GetData(1);
|
||||
}
|
||||
return total;
|
||||
}
|
||||
@@ -1339,7 +1338,7 @@ namespace XCharts
|
||||
double total = 0;
|
||||
foreach (var sdata in data)
|
||||
{
|
||||
if (sdata.show)
|
||||
if (sdata.show && !IsIgnoreValue(sdata.data[1]))
|
||||
total += sdata.data[0];
|
||||
}
|
||||
return total;
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace XCharts
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
var value = serieData.data[dimension];
|
||||
if (value < min) min = value;
|
||||
if (value < min && !serie.IsIgnoreValue(value)) min = value;
|
||||
}
|
||||
}
|
||||
return min == double.MaxValue ? 0 : min;
|
||||
@@ -39,7 +39,7 @@ namespace XCharts
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
var value = serieData.data[dimension];
|
||||
if (value < min)
|
||||
if (value < min && !serie.IsIgnoreValue(value))
|
||||
{
|
||||
min = value;
|
||||
minData = serieData;
|
||||
@@ -58,7 +58,7 @@ namespace XCharts
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
var value = serieData.data[dimension];
|
||||
if (value > max) max = value;
|
||||
if (value > max && !serie.IsIgnoreValue(value)) max = value;
|
||||
}
|
||||
}
|
||||
return max == double.MinValue ? 0 : max;
|
||||
@@ -74,7 +74,7 @@ namespace XCharts
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
var value = serieData.data[dimension];
|
||||
if (value > max)
|
||||
if (value > max && !serie.IsIgnoreValue(value))
|
||||
{
|
||||
max = value;
|
||||
maxData = serieData;
|
||||
@@ -93,7 +93,9 @@ namespace XCharts
|
||||
var serieData = dataList[i];
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
total += serieData.data[dimension];
|
||||
var value = serieData.data[dimension];
|
||||
if (!serie.IsIgnoreValue(value))
|
||||
total += value;
|
||||
}
|
||||
}
|
||||
return total != 0 ? total / dataList.Count : 0;
|
||||
@@ -109,7 +111,9 @@ namespace XCharts
|
||||
var serieData = dataList[i];
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
s_TempList.Add(serieData.data[dimension]);
|
||||
var value = serieData.data[dimension];
|
||||
if (!serie.IsIgnoreValue(value))
|
||||
s_TempList.Add(value);
|
||||
}
|
||||
}
|
||||
s_TempList.Sort();
|
||||
@@ -139,8 +143,11 @@ namespace XCharts
|
||||
if (serieData.show && serieData.data.Count > dimension)
|
||||
{
|
||||
var value = serieData.data[dimension];
|
||||
if (value > max) max = value;
|
||||
if (value < min) min = value;
|
||||
if (!serie.IsIgnoreValue(value))
|
||||
{
|
||||
if (value > max) max = value;
|
||||
if (value < min) min = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -171,8 +178,11 @@ namespace XCharts
|
||||
for (int j = 0; j < count; j++)
|
||||
{
|
||||
var value = serieData.data[j];
|
||||
if (value > max) max = value;
|
||||
if (value < min) min = value;
|
||||
if (!serie.IsIgnoreValue(value))
|
||||
{
|
||||
if (value > max) max = value;
|
||||
if (value < min) min = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -421,7 +431,7 @@ namespace XCharts
|
||||
|
||||
public static IconStyle GetIconStyle(Serie serie, SerieData serieData)
|
||||
{
|
||||
if(serieData.enableIconStyle) return serieData.iconStyle;
|
||||
if (serieData.enableIconStyle) return serieData.iconStyle;
|
||||
else return serie.iconStyle;
|
||||
}
|
||||
|
||||
@@ -690,7 +700,6 @@ namespace XCharts
|
||||
});
|
||||
break;
|
||||
case SerieDataSortType.None:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -444,28 +444,29 @@ namespace XCharts
|
||||
var serie = series.GetSerie(i);
|
||||
if ((isPolar && serie.polarIndex != axisIndex)
|
||||
|| (!isPolar && serie.yAxisIndex != axisIndex)) continue;
|
||||
if (series.IsActive(i))
|
||||
if (isPercentStack && SeriesHelper.IsPercentStack(series, serie.name, SerieType.Bar))
|
||||
{
|
||||
if (isPercentStack && SeriesHelper.IsPercentStack(series, serie.name, SerieType.Bar))
|
||||
if (100 > max) max = 100;
|
||||
if (0 < min) min = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
var showData = serie.GetDataList(dataZoom);
|
||||
foreach (var data in showData)
|
||||
{
|
||||
if (100 > max) max = 100;
|
||||
if (0 < min) min = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
var showData = serie.GetDataList(dataZoom);
|
||||
foreach (var data in showData)
|
||||
|
||||
if (serie.type == SerieType.Candlestick)
|
||||
{
|
||||
if (serie.type == SerieType.Candlestick)
|
||||
var dataMin = data.GetMinData(inverse);
|
||||
var dataMax = data.GetMaxData(inverse);
|
||||
if (dataMax > max) max = dataMax;
|
||||
if (dataMin < min) min = dataMin;
|
||||
}
|
||||
else
|
||||
{
|
||||
var currData = data.GetData(yValue ? 1 : 0, inverse);
|
||||
if (!serie.IsIgnoreValue(currData))
|
||||
{
|
||||
var dataMin = data.GetMinData(inverse);
|
||||
var dataMax = data.GetMaxData(inverse);
|
||||
if (dataMax > max) max = dataMax;
|
||||
if (dataMin < min) min = dataMin;
|
||||
}
|
||||
else
|
||||
{
|
||||
var currData = data.GetData(yValue ? 1 : 0, inverse);
|
||||
if (currData > max) max = currData;
|
||||
if (currData < min) min = currData;
|
||||
}
|
||||
@@ -484,8 +485,7 @@ namespace XCharts
|
||||
{
|
||||
var serie = ss.Value[i];
|
||||
if ((isPolar && serie.polarIndex != axisIndex)
|
||||
|| (!isPolar && serie.yAxisIndex != axisIndex)
|
||||
|| !series.IsActive(i)) continue;
|
||||
|| (!isPolar && serie.yAxisIndex != axisIndex)) continue;
|
||||
var showData = serie.GetDataList(dataZoom);
|
||||
if (SeriesHelper.IsPercentStack(series, serie.stack, SerieType.Bar))
|
||||
{
|
||||
@@ -510,7 +510,8 @@ namespace XCharts
|
||||
currData = yValue ? showData[j].GetData(1) : showData[j].GetData(0);
|
||||
}
|
||||
if (inverse) currData = -currData;
|
||||
_serieTotalValueForMinMax[j] = _serieTotalValueForMinMax[j] + currData;
|
||||
if(!serie.IsIgnoreValue(currData))
|
||||
_serieTotalValueForMinMax[j] = _serieTotalValueForMinMax[j] + currData;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user