如何使用按钮根据数组值更新 livechart 中的图表?
How can I update the chart in livechart based on array value with a button?
我目前正在使用 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);
}
getvalueforgraphing()
是用插入的新值更新数组的函数。 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;
}
我目前正在使用 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);
}
getvalueforgraphing()
是用插入的新值更新数组的函数。 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;
}