如何使用按钮根据数组值更新实时图表中的图表



我目前正在使用Livechart,笛卡尔图表用于我的WPF c#程序,基于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);
}

CCD_ 1是用插入的新值来更新回阵列的函数。cartchartdb是lvc的名称。CartesianChart工具。

希望有人能帮我。

好的,nvm拿到了!

基本上我的解决方法如下所示

private void refreshcart_Click(object sender, RoutedEventArgs e)
{
getvalueforgraphing();
// SeriesCollection[0].Values.Clear();
SeriesCollection[0].Values = arrayspeedavg.AsChartValues();
SeriesCollection[1].Values = arraygapavg.AsChartValues();
Labels = datearray;
}

相关内容

  • 没有找到相关文章

最新更新