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