LiveCharts2 HeatMap 数据工具提示格式错误

问题描述 投票:0回答:1

我使用 LiveCharts2 热图将数据放置到网格上,以便用户可以直观地查看和比较彼此相邻的值,就像它们在现实生活中出现的那样。

有时颜色不够,所以我想将鼠标悬停在该点上以获得准确的信息。

当我尝试这样做时,我得到了我想要的所有信息,但格式错误。

  • 第 1 行:xAxisValue
  • 第 2 行:yAxisValue CellValue

Poorly formated tooltip

如您所见,这使得读取单元格值变得困难,因为它靠近 y 轴。

理想情况下我会这样:

  • 第 1 行:xAxisValue
  • 第 2 行:yAxisValue
  • 第 3 行:CellValue

但即使只是

我也会很高兴
  • 第 1 行:CellValue

  • 第 1 行:xAxisValue yAxisValue
  • 第 2 行:CellValue

我尝试学习格式化,但没有成功。我也许可以使轴值正确格式化,但我永远无法将单元格值单独放入工具提示中。

听起来这应该是一件简单的事情。希望有人能帮忙。

我从代码中删除了所有失败的内容,这就是现在的样子:

Xaml:

<lvc:CartesianChart x:Name="Chart"
                        Series="{Binding Series}"
                        XAxes="{Binding XAxes}"
                        YAxes="{Binding YAxes}">
</lvc:CartesianChart>

C#:

ObservableCollection<WeightedPoint> oc = new ObservableCollection<WeightedPoint>(wp);
        Series = new ObservableCollection<ISeries>
        {
            new HeatSeries<WeightedPoint>
            {
                HeatMap = new[]
                {
                    new SKColor(0, 0, 0).AsLvcColor(),
                    new SKColor(0, 0, 255).AsLvcColor(),
                    new SKColor(255, 255, 0).AsLvcColor(),
                    new SKColor(255, 0, 0).AsLvcColor(),
                },
                ColorStops = new[]
                {
                    0,
                    0.5,
                    0.9,
                    1
                },
                Values = new ObservableCollection<WeightedPoint>(wp),
            }
        };

        XAxes = new Axis[]
        {
            new Axis
            {
                Labels = dg.LegendW.Select(x => x.ToString()).ToList(),
                
            }
        };

        YAxes = new Axis[]
        {
            new Axis
            {
                Labels = dg.LegendH.Select(x => x.ToString()).ToList()
            }
        };
c# wpf livecharts
1个回答
0
投票

你可以这样做:

// …
new HeatSeries<WeightedPoint> {
  // …
  YToolTipLabelFormatter = (point) => $"{point.Model?.Weight}",
  // …
}
// …

具有 x 和 y 值的其他选项:

YToolTipLabelFormatter = (point) => $"Value: {point.Model?.Weight}\r\nX: {point.Model?.X}\r\nY: {point.Model?.Y}",
© www.soinside.com 2019 - 2024. All rights reserved.