mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-30 05:08:48 +00:00
[bug] fix tooltip show data error when datazoom enable (#203)
This commit is contained in:
@@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2022.06.25) 修复`DataZoom`开启时`Tooltip`显示数据不一致的问题 (#203)
|
||||||
* (2022.06.25) 修复`Toolip`在类目轴无数据时绘制异常的问题 (#204)
|
* (2022.06.25) 修复`Toolip`在类目轴无数据时绘制异常的问题 (#204)
|
||||||
* (2022.06.25) 优化`Serie`设置`PlaceHolder`时的`Tooltip`表现
|
* (2022.06.25) 优化`Serie`设置`PlaceHolder`时的`Tooltip`表现
|
||||||
* (2022.06.25) 增加`Since`标识配置参数从哪个版本开始支持
|
* (2022.06.25) 增加`Since`标识配置参数从哪个版本开始支持
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ namespace XCharts.Runtime
|
|||||||
public List<string> runtimeData { get { return m_RuntimeData; } }
|
public List<string> runtimeData { get { return m_RuntimeData; } }
|
||||||
public List<double> labelValueList { get { return m_LabelValueList; } }
|
public List<double> labelValueList { get { return m_LabelValueList; } }
|
||||||
public List<ChartLabel> labelObjectList { get { return m_AxisLabelList; } }
|
public List<ChartLabel> labelObjectList { get { return m_AxisLabelList; } }
|
||||||
|
public int dataZoomStartIndex;
|
||||||
|
|
||||||
internal List<string> filterData;
|
internal List<string> filterData;
|
||||||
internal bool lastCheckInverse;
|
internal bool lastCheckInverse;
|
||||||
@@ -107,17 +108,25 @@ namespace XCharts.Runtime
|
|||||||
if (range > data.Count - start - 1)
|
if (range > data.Count - start - 1)
|
||||||
start = data.Count - range - 1;
|
start = data.Count - range - 1;
|
||||||
if (start >= 0)
|
if (start >= 0)
|
||||||
|
{
|
||||||
|
dataZoomStartIndex = start;
|
||||||
filterData = data.GetRange(start, range);
|
filterData = data.GetRange(start, range);
|
||||||
else
|
|
||||||
filterData = data;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
dataZoomStartIndex = 0;
|
||||||
|
filterData = data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dataZoomStartIndex = 0;
|
||||||
filterData = data;
|
filterData = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (end == 0)
|
else if (end == 0)
|
||||||
{
|
{
|
||||||
|
dataZoomStartIndex = 0;
|
||||||
filterData = m_EmptyFliter;
|
filterData = m_EmptyFliter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -262,7 +262,7 @@ namespace XCharts.Runtime
|
|||||||
if (isTriggerAxis)
|
if (isTriggerAxis)
|
||||||
{
|
{
|
||||||
serie.context.pointerEnter = true;
|
serie.context.pointerEnter = true;
|
||||||
serie.context.pointerAxisDataIndexs.Add((int) xAxis.context.pointerValue);
|
serie.context.pointerAxisDataIndexs.Add(serie.context.dataZoomStartIndex + (int) xAxis.context.pointerValue);
|
||||||
xAxis.context.axisTooltipValue = xAxis.context.pointerValue;
|
xAxis.context.axisTooltipValue = xAxis.context.pointerValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -446,7 +446,7 @@ namespace XCharts.Runtime
|
|||||||
var axis = component as Axis;
|
var axis = component as Axis;
|
||||||
if (axis.gridIndex == gridIndex && axis.IsCategory())
|
if (axis.gridIndex == gridIndex && axis.IsCategory())
|
||||||
{
|
{
|
||||||
dataIndex = (int) axis.context.pointerValue;
|
dataIndex = axis.context.dataZoomStartIndex + (int) axis.context.pointerValue;
|
||||||
category = axis.GetData(dataIndex);
|
category = axis.GetData(dataIndex);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -532,10 +532,6 @@ namespace XCharts.Runtime
|
|||||||
Vector3 p2 = new Vector3(pX, pY);
|
Vector3 p2 = new Vector3(pX, pY);
|
||||||
Vector3 p3 = new Vector3(pX + tooltipSplitWid, pY);
|
Vector3 p3 = new Vector3(pX + tooltipSplitWid, pY);
|
||||||
Vector3 p4 = new Vector3(pX + tooltipSplitWid, grid.context.y);
|
Vector3 p4 = new Vector3(pX + tooltipSplitWid, grid.context.y);
|
||||||
Debug.LogError(p1 + "," + grid.context.x + "," + xAxis.context.pointerValue);
|
|
||||||
Debug.LogError(p2);
|
|
||||||
Debug.LogError(p3);
|
|
||||||
Debug.LogError(p4);
|
|
||||||
UGL.DrawQuadrilateral(vh, p1, p2, p3, p4, chart.theme.tooltip.areaColor);
|
UGL.DrawQuadrilateral(vh, p1, p2, p3, p4, chart.theme.tooltip.areaColor);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -707,17 +707,25 @@ namespace XCharts.Runtime
|
|||||||
if (range > data.Count - start - 1)
|
if (range > data.Count - start - 1)
|
||||||
start = data.Count - range - 1;
|
start = data.Count - range - 1;
|
||||||
if (start >= 0)
|
if (start >= 0)
|
||||||
|
{
|
||||||
|
serie.context.dataZoomStartIndex = start;
|
||||||
serie.m_FilterData = data.GetRange(start, range);
|
serie.m_FilterData = data.GetRange(start, range);
|
||||||
else
|
|
||||||
serie.m_FilterData = data;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
serie.context.dataZoomStartIndex = 0;
|
||||||
|
serie.m_FilterData = data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
serie.context.dataZoomStartIndex = 0;
|
||||||
serie.m_FilterData = data;
|
serie.m_FilterData = data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (end == 0)
|
else if (end == 0)
|
||||||
{
|
{
|
||||||
|
serie.context.dataZoomStartIndex = 0;
|
||||||
serie.m_FilterData = emptyFilter;
|
serie.m_FilterData = emptyFilter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ namespace XCharts.Runtime
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public List<int> pointerAxisDataIndexs = new List<int>();
|
public List<int> pointerAxisDataIndexs = new List<int>();
|
||||||
public bool isTriggerByAxis = false;
|
public bool isTriggerByAxis = false;
|
||||||
|
public int dataZoomStartIndex = 0;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 中心点
|
/// 中心点
|
||||||
|
|||||||
Reference in New Issue
Block a user