如何解决如何使用按钮基于数组值在实时图表中更新图表?
根据livecharts网站上给出的示例,我目前正在将WPF c#程序的笛卡尔图表使用Livechart。我已经成功地将数组的值表示在笛卡尔图表上。
下面是xaml代码
library(dplyr)
library(stringr)
df %>%
group_by(Participant,Session) %>%
summarise(false_start = sum(str_count(key_resp.keys,'\\bspace\\b')),all_false_start = sum(str_count(key_resp.keys,'\\b\\w+\\b')))
下面是代码。 Xaml.cs
<Grid Margin="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>
现在的问题是,当将新值插入数组时,我无法再次更新图形。*编辑:仅当我重新启动程序时,图表才会更新。
我当前的想法是按下一个按钮刷新图表,但它没有更新。
按钮更新代码:
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()
是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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。