mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-25 02:10:16 +00:00
[bug][datazoom] fix datazoom range error (#221)
This commit is contained in:
@@ -46,6 +46,8 @@
|
|||||||
|
|
||||||
## branch-2.0
|
## branch-2.0
|
||||||
|
|
||||||
|
* (2022.08.30) 修复`DataZoom`在某些情况下计算范围不准确的问题 (#221)
|
||||||
|
|
||||||
## v2.8.2
|
## v2.8.2
|
||||||
|
|
||||||
* (2022.08.15) 发布`v2.8.2`版本
|
* (2022.08.15) 发布`v2.8.2`版本
|
||||||
|
|||||||
@@ -712,13 +712,13 @@ namespace XCharts
|
|||||||
int start = 0, end = 0;
|
int start = 0, end = 0;
|
||||||
if (dataZoom.runtimeInvert)
|
if (dataZoom.runtimeInvert)
|
||||||
{
|
{
|
||||||
end = Mathf.CeilToInt(data.Count * dataZoom.end / 100);
|
end = Mathf.RoundToInt(data.Count * dataZoom.end / 100);
|
||||||
start = end - range;
|
start = end - range;
|
||||||
if (start < 0) start = 0;
|
if (start < 0) start = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
start = Mathf.FloorToInt(data.Count * dataZoom.start / 100);
|
start = Mathf.RoundToInt(data.Count * dataZoom.start / 100);
|
||||||
end = start + range;
|
end = start + range;
|
||||||
if (end > data.Count) end = data.Count;
|
if (end > data.Count) end = data.Count;
|
||||||
}
|
}
|
||||||
@@ -735,8 +735,8 @@ namespace XCharts
|
|||||||
if (filterMinShow > data.Count) range = data.Count;
|
if (filterMinShow > data.Count) range = data.Count;
|
||||||
else range = filterMinShow;
|
else range = filterMinShow;
|
||||||
}
|
}
|
||||||
if (range > data.Count - start - 1)
|
if (range > data.Count - start)
|
||||||
start = data.Count - range - 1;
|
start = data.Count - range;
|
||||||
filterData = data.GetRange(start, range);
|
filterData = data.GetRange(start, range);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -642,13 +642,13 @@ namespace XCharts
|
|||||||
int start = 0, end = 0;
|
int start = 0, end = 0;
|
||||||
if (dataZoom.runtimeInvert)
|
if (dataZoom.runtimeInvert)
|
||||||
{
|
{
|
||||||
end = Mathf.CeilToInt(data.Count * dataZoom.end / 100);
|
end = Mathf.RoundToInt(data.Count * dataZoom.end / 100);
|
||||||
start = end - range;
|
start = end - range;
|
||||||
if (start < 0) start = 0;
|
if (start < 0) start = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
start = Mathf.FloorToInt(data.Count * dataZoom.start / 100);
|
start = Mathf.RoundToInt(data.Count * dataZoom.start / 100);
|
||||||
end = start + range;
|
end = start + range;
|
||||||
if (end > data.Count) end = data.Count;
|
if (end > data.Count) end = data.Count;
|
||||||
}
|
}
|
||||||
@@ -666,8 +666,8 @@ namespace XCharts
|
|||||||
if (dataZoom.minShowNum > data.Count) range = data.Count;
|
if (dataZoom.minShowNum > data.Count) range = data.Count;
|
||||||
else range = dataZoom.minShowNum;
|
else range = dataZoom.minShowNum;
|
||||||
}
|
}
|
||||||
if (range > data.Count - start - 1)
|
if (range > data.Count - start)
|
||||||
start = data.Count - range - 1;
|
start = data.Count - range;
|
||||||
serie.m_FilterData = data.GetRange(start, range);
|
serie.m_FilterData = data.GetRange(start, range);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user