【发布时间】: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