mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-30 05:08:48 +00:00
[bug][datazoom] fix datazoom range error (#221)
This commit is contained in:
@@ -58,8 +58,9 @@
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2022.08.30) 修复`DataZoom`某些情况下计算范围不准确的问题 (#221)
|
||||||
* (2022.08.29) 优化`BarChart`在数据过密时的默认表现
|
* (2022.08.29) 优化`BarChart`在数据过密时的默认表现
|
||||||
* (2022.08.29) 优化`DataZoom`下Y轴的最大最小值计算
|
* (2022.08.29) 优化`YAxis`在开启`DataZoom`时的最大最小值计算
|
||||||
* (2022.08.29) 优化`CandlestickChart`大量数据绘制
|
* (2022.08.29) 优化`CandlestickChart`大量数据绘制
|
||||||
* (2022.08.28) 修复`LineChart`在堆叠和自定义Y轴范围的情况下显示不正常的问题
|
* (2022.08.28) 修复`LineChart`在堆叠和自定义Y轴范围的情况下显示不正常的问题
|
||||||
* (2022.08.26) 增加`Legend`新图标类型`Candlestick`
|
* (2022.08.26) 增加`Legend`新图标类型`Candlestick`
|
||||||
|
|||||||
@@ -92,13 +92,13 @@ namespace XCharts.Runtime
|
|||||||
|
|
||||||
if (dataZoom.context.invert)
|
if (dataZoom.context.invert)
|
||||||
{
|
{
|
||||||
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;
|
||||||
}
|
}
|
||||||
@@ -122,8 +122,8 @@ namespace XCharts.Runtime
|
|||||||
else
|
else
|
||||||
range = dataZoom.minShowNum;
|
range = dataZoom.minShowNum;
|
||||||
}
|
}
|
||||||
if (range > data.Count - start - 1)
|
if (range > data.Count - start)
|
||||||
start = data.Count - range - 1;
|
start = data.Count - range;
|
||||||
if (start >= 0)
|
if (start >= 0)
|
||||||
{
|
{
|
||||||
dataZoomStartIndex = start;
|
dataZoomStartIndex = start;
|
||||||
|
|||||||
@@ -821,13 +821,13 @@ namespace XCharts.Runtime
|
|||||||
int start = 0, end = 0;
|
int start = 0, end = 0;
|
||||||
if (dataZoom.context.invert)
|
if (dataZoom.context.invert)
|
||||||
{
|
{
|
||||||
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;
|
||||||
}
|
}
|
||||||
@@ -845,8 +845,8 @@ namespace XCharts.Runtime
|
|||||||
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;
|
||||||
if (start >= 0)
|
if (start >= 0)
|
||||||
{
|
{
|
||||||
serie.context.dataZoomStartIndex = start;
|
serie.context.dataZoomStartIndex = start;
|
||||||
|
|||||||
Reference in New Issue
Block a user