mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-28 03:58:49 +00:00
修复当设置DataZoom的minShowNum时可能异常的问题
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
# 更新日志
|
# 更新日志
|
||||||
|
|
||||||
|
* (2020.01.09) 修复当设置`DataZoom`的`minShowNum`时可能异常的问题
|
||||||
* (2020.01.08) 修复当设置`AxisLine`的`onZero`时刻度显示异常的问题
|
* (2020.01.08) 修复当设置`AxisLine`的`onZero`时刻度显示异常的问题
|
||||||
* (2020.01.08) 增加`Mask`遮罩遮挡支持
|
* (2020.01.08) 增加`Mask`遮罩遮挡支持
|
||||||
* (2019.12.21) 增加`Tooltip`的单个数据项和标题的字符串模版格式器
|
* (2019.12.21) 增加`Tooltip`的单个数据项和标题的字符串模版格式器
|
||||||
|
|||||||
@@ -390,6 +390,7 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
var startIndex = (int)((data.Count - 1) * dataZoom.start / 100);
|
var startIndex = (int)((data.Count - 1) * dataZoom.start / 100);
|
||||||
var endIndex = (int)((data.Count - 1) * dataZoom.end / 100);
|
var endIndex = (int)((data.Count - 1) * dataZoom.end / 100);
|
||||||
|
if (endIndex < startIndex) endIndex = startIndex;
|
||||||
if (startIndex != filterStart || endIndex != filterEnd || dataZoom.minShowNum != filterMinShow || m_NeedUpdateFilterData)
|
if (startIndex != filterStart || endIndex != filterEnd || dataZoom.minShowNum != filterMinShow || m_NeedUpdateFilterData)
|
||||||
{
|
{
|
||||||
filterStart = startIndex;
|
filterStart = startIndex;
|
||||||
@@ -399,9 +400,17 @@ namespace XCharts
|
|||||||
if (m_Data.Count > 0)
|
if (m_Data.Count > 0)
|
||||||
{
|
{
|
||||||
var count = endIndex == startIndex ? 1 : endIndex - startIndex + 1;
|
var count = endIndex == startIndex ? 1 : endIndex - startIndex + 1;
|
||||||
if (count < dataZoom.minShowNum) count = dataZoom.minShowNum;
|
if (count < dataZoom.minShowNum)
|
||||||
if (startIndex + count > m_Data.Count - 1) count = m_Data.Count - 1 - startIndex;
|
{
|
||||||
filterData = m_Data.GetRange(startIndex, count);
|
if (dataZoom.minShowNum > m_Data.Count) count = m_Data.Count;
|
||||||
|
else count = dataZoom.minShowNum;
|
||||||
|
}
|
||||||
|
if (startIndex + count > m_Data.Count)
|
||||||
|
{
|
||||||
|
int start = endIndex - count;
|
||||||
|
filterData = m_Data.GetRange(start < 0 ? 0 : start, count);
|
||||||
|
}
|
||||||
|
else filterData = m_Data.GetRange(startIndex, count);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -966,6 +966,8 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
var startIndex = (int)((data.Count - 1) * dataZoom.start / 100);
|
var startIndex = (int)((data.Count - 1) * dataZoom.start / 100);
|
||||||
var endIndex = (int)((data.Count - 1) * dataZoom.end / 100);
|
var endIndex = (int)((data.Count - 1) * dataZoom.end / 100);
|
||||||
|
if (endIndex < startIndex) endIndex = startIndex;
|
||||||
|
|
||||||
if (startIndex != m_FilterStart || endIndex != m_FilterEnd || dataZoom.minShowNum != m_FilterMinShow || m_NeedUpdateFilterData)
|
if (startIndex != m_FilterStart || endIndex != m_FilterEnd || dataZoom.minShowNum != m_FilterMinShow || m_NeedUpdateFilterData)
|
||||||
{
|
{
|
||||||
m_FilterStart = startIndex;
|
m_FilterStart = startIndex;
|
||||||
@@ -973,11 +975,19 @@ namespace XCharts
|
|||||||
m_FilterMinShow = dataZoom.minShowNum;
|
m_FilterMinShow = dataZoom.minShowNum;
|
||||||
m_NeedUpdateFilterData = false;
|
m_NeedUpdateFilterData = false;
|
||||||
var count = endIndex == startIndex ? 1 : endIndex - startIndex + 1;
|
var count = endIndex == startIndex ? 1 : endIndex - startIndex + 1;
|
||||||
if (count < dataZoom.minShowNum) count = dataZoom.minShowNum;
|
if (count < dataZoom.minShowNum)
|
||||||
|
{
|
||||||
|
if (dataZoom.minShowNum > m_Data.Count) count = m_Data.Count;
|
||||||
|
else count = dataZoom.minShowNum;
|
||||||
|
}
|
||||||
if (m_Data.Count > 0)
|
if (m_Data.Count > 0)
|
||||||
{
|
{
|
||||||
if (startIndex + count > m_Data.Count - 1) count = m_Data.Count - 1 - startIndex;
|
if (startIndex + count > m_Data.Count)
|
||||||
m_FilterData = m_Data.GetRange(startIndex, count);
|
{
|
||||||
|
int start = endIndex - count;
|
||||||
|
m_FilterData = m_Data.GetRange(start < 0 ? 0 : start, count);
|
||||||
|
}
|
||||||
|
else m_FilterData = m_Data.GetRange(startIndex, count);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user