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