[bug][datazoom] fix datazoom range error (#221)

This commit is contained in:
monitor1394
2022-08-30 08:04:18 +08:00
parent 5f16685b64
commit 027f5f260c
3 changed files with 10 additions and 9 deletions

View File

@@ -58,8 +58,9 @@
## master
* (2022.08.30) 修复`DataZoom`某些情况下计算范围不准确的问题 (#221)
* (2022.08.29) 优化`BarChart`在数据过密时的默认表现
* (2022.08.29) 优化`DataZoom`下Y轴的最大最小值计算
* (2022.08.29) 优化`YAxis`在开启`DataZoom`的最大最小值计算
* (2022.08.29) 优化`CandlestickChart`大量数据绘制
* (2022.08.28) 修复`LineChart`在堆叠和自定义Y轴范围的情况下显示不正常的问题
* (2022.08.26) 增加`Legend`新图标类型`Candlestick`

View File

@@ -92,13 +92,13 @@ namespace XCharts.Runtime
if (dataZoom.context.invert)
{
end = Mathf.CeilToInt(data.Count * dataZoom.end / 100);
end = Mathf.RoundToInt(data.Count * dataZoom.end / 100);
start = end - range;
if (start < 0) start = 0;
}
else
{
start = Mathf.FloorToInt(data.Count * dataZoom.start / 100);
start = Mathf.RoundToInt(data.Count * dataZoom.start / 100);
end = start + range;
if (end > data.Count) end = data.Count;
}
@@ -122,8 +122,8 @@ namespace XCharts.Runtime
else
range = dataZoom.minShowNum;
}
if (range > data.Count - start - 1)
start = data.Count - range - 1;
if (range > data.Count - start)
start = data.Count - range;
if (start >= 0)
{
dataZoomStartIndex = start;

View File

@@ -821,13 +821,13 @@ namespace XCharts.Runtime
int start = 0, end = 0;
if (dataZoom.context.invert)
{
end = Mathf.CeilToInt(data.Count * dataZoom.end / 100);
end = Mathf.RoundToInt(data.Count * dataZoom.end / 100);
start = end - range;
if (start < 0) start = 0;
}
else
{
start = Mathf.FloorToInt(data.Count * dataZoom.start / 100);
start = Mathf.RoundToInt(data.Count * dataZoom.start / 100);
end = start + range;
if (end > data.Count) end = data.Count;
}
@@ -845,8 +845,8 @@ namespace XCharts.Runtime
if (dataZoom.minShowNum > data.Count) range = data.Count;
else range = dataZoom.minShowNum;
}
if (range > data.Count - start - 1)
start = data.Count - range - 1;
if (range > data.Count - start)
start = data.Count - range;
if (start >= 0)
{
serie.context.dataZoomStartIndex = start;