mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-19 15:00:08 +00:00
[improve][heatmap] improve heatmap chart
This commit is contained in:
@@ -241,7 +241,11 @@ namespace XCharts.Runtime
|
||||
private void UpdateAxisPointerDataIndex(Serie serie, XAxis xAxis, YAxis yAxis, GridCoord grid, bool isTriggerAxis)
|
||||
{
|
||||
serie.context.pointerAxisDataIndexs.Clear();
|
||||
if (yAxis.IsCategory())
|
||||
if (xAxis.IsCategory() && yAxis.IsCategory())
|
||||
{
|
||||
GetSerieDataByXYAxis(serie, xAxis, yAxis);
|
||||
}
|
||||
else if (yAxis.IsCategory())
|
||||
{
|
||||
if (isTriggerAxis)
|
||||
{
|
||||
@@ -277,6 +281,24 @@ namespace XCharts.Runtime
|
||||
}
|
||||
}
|
||||
|
||||
private void GetSerieDataByXYAxis(Serie serie, Axis xAxis, Axis yAxis)
|
||||
{
|
||||
var xAxisIndex = xAxis.context.pointerValue;
|
||||
var yAxisIndex = yAxis.context.pointerValue;
|
||||
serie.context.pointerItemDataIndex = -1;
|
||||
|
||||
foreach (var serieData in serie.data)
|
||||
{
|
||||
var x = serieData.GetData(0);
|
||||
var y = serieData.GetData(1);
|
||||
if (xAxisIndex == x && y == yAxisIndex)
|
||||
{
|
||||
serie.context.pointerItemDataIndex = serieData.index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void GetSerieDataIndexByAxis(Serie serie, Axis axis, GridCoord grid, int dimension = 0)
|
||||
{
|
||||
var currValue = 0d;
|
||||
@@ -418,7 +440,7 @@ namespace XCharts.Runtime
|
||||
{
|
||||
var serie = series[i];
|
||||
serie.context.isTriggerByAxis = isTriggerByAxis;
|
||||
if (isTriggerByAxis && dataIndex >= 0)
|
||||
if (isTriggerByAxis && dataIndex >= 0 && serie.context.pointerItemDataIndex < 0)
|
||||
serie.context.pointerItemDataIndex = dataIndex;
|
||||
serie.handler.UpdateTooltipSerieParams(dataIndex, showCategory, category,
|
||||
tooltip.marker, tooltip.itemFormatter, tooltip.numericFormatter,
|
||||
|
||||
Reference in New Issue
Block a user