【问题标题】:LiveCharts WPF LabelsLiveCharts WPF 标签
【发布时间】:2021-01-24 22:41:19
【问题描述】:

我正在使用实时图表来显示来自我列表中不同数据区域的统计数据。 区域没有相同数量的数据点,每个点的标签都不同。

我的代码:

public void MakeSeries()
        {
            
            SeriesCollection = new SeriesCollection();         
            var regionGroupedList = _recordList.Where(x => x.Region != 0 && x.Mmr > 0).GroupBy(g => g.Region);

            foreach (var region in regionGroupedList)
            {
                var MmrValues = new ChartValues<int>();
                List<string> DateLabels = new List<string>();
                foreach (var record in region.Where(x => x.Mmr > 0))
                {
                    MmrValues.Add(record.Mmr);
                    DateLabels.Add(record.Hero);
                }

                SeriesCollection.Add(
                    new LineSeries{

                            Title = (region.Key).ToString(),
                            LineSmoothness = 0, //0: straight lines, 1: really smooth lines
                            Values = MmrValues,
                            
                    }
                    
                );
                
                Labels = DateLabels.ToArray();
                DataContext = this;
            }
        }

XAML:

<lvc:CartesianChart Series="{Binding SeriesCollection}" LegendLocation="Right" Margin="0,45,0,0" >
        <lvc:CartesianChart.AxisY>
            <lvc:Axis Title="MMR"></lvc:Axis>
        </lvc:CartesianChart.AxisY>
        <lvc:CartesianChart.AxisX>
            <lvc:Axis Title="Game" Labels="{Binding Labels}"></lvc:Axis>
        </lvc:CartesianChart.AxisX>
    </lvc:CartesianChart>

如果我只使用一个区域 (region1),只要我有第二个区域 (region2),它就可以工作,它只显示来自 region1 的标签,只有两个 lineeries,但只有 region2 的标签。

我做错了什么,是否可以为每个系列显示每个单独的标签?

【问题讨论】:

  • 你能把问题的图片显示出来吗?
  • 这里是我为显示问题而制作的 gif 的链接link

标签: c# wpf livecharts


【解决方案1】:

我不是专家,所以我不会做例子,但也许我认为你应该有多个 X 轴,所以像这样:

  • 使用每个区域的轴对象填充 AxesCollection
  • 对于每个轴对象,用您想要的内容填充标签属性。
  • 使用 AxisX="{Binding AxisXCollection}" 绑定您的 axesCollection

【讨论】:

    猜你喜欢
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多