我目前正在为我的 WPF c# 程序使用 Livechart,笛卡尔图表,基于 livecharts 网站中给出的示例。我已经成功地将数组的值表示到笛卡尔图表上。
下面是xaml代码
<Grid Margin="0,0,219.4,-0.2">
<lvc:CartesianChart x:Name="cartchartdb" Series="{Binding SeriesCollection}" LegendLocation="Right" >
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="Value" LabelFormatter="{Binding YFormatter}"></lvc:Axis>
</lvc:CartesianChart.AxisY>
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="Date" Labels="{Binding Labels}"></lvc:Axis>
</lvc:CartesianChart.AxisX>
</lvc:CartesianChart>
</Grid>
下面是代码。对于 Xaml.cs
private void cartchartinit()
{
SeriesCollection = new SeriesCollection
{
new LineSeries
{
Title = "Avg Speed (KM/H)",
Values = arrayspeedavg.AsChartValues()
},
new LineSeries
{
Title = "Avg Gap (Metre)",
Values = arraygapavg.AsChartValues()
},
};
Labels = datearray;
YFormatter = value => value.ToString("");
DataContext = this;
cartchartdb.Update(true);
}
现在的问题是当将新值插入数组时,我无法再次更新图表。*编辑:图表只有在我重新启动程序时才会更新。
我目前的想法是放一个按钮来刷新图表,但它没有更新。
按钮更新代码:
private void refreshcart_Click(object sender, RoutedEventArgs e)
{
getvalueforgraphing();
cartchartdb.Update(true);
}
这getvalueforgraphing()是使用插入的新值更新数组的函数。这cartchartdb是 lvc.CartesianChart 工具的名称。
希望有人可以帮助我。