ComponentOne For WPF学习心得-实时数据

ComponentOne For WPF学习心得-实时数据

写在前面

这是ComponentOne For WPF学习的第三篇文章,我对比着读了前两篇文章,感觉还是后者读起来比较舒服和顺畅,所以以后的文章可能都会用这种写法,给他起个名字吧,就叫同步学习法。。。。。
这篇文章我们来学习怎么用C1Chart来显示实时数据。看起来好像很难哇,所以在动手前要先分析一下实时数据实现步骤,主要有一个不断更新的数据,然后不断的更新到图表里面,那么我们首先就要解决这个不断更新的数据,这里我是用定时器来解决这个问题

不断更新的数据

废话不多说,上代码

void Update()
{
	chart.BeginUpdate();
	int cnt = nAddPoints;//每次增加的点数
	for(int i=0;i<cnt;i++)
	{
		double r = random.NextDouble();//创建随机数
		double y = (10*r*Math.Sin(0.1*counter)*Math.Sin(0.6*random.NextDouble()*counter));
		//经过一点的数据加工
		_pts.Add(new Point(counter++,y*100));
	}
	int ndel = _pts.Count - nMaxPoints;//nMaxPoints,图表中最多呈现的点数
	if(ndel>0)
	{
		for(int i=0;i<ndel;i++)
		{
			_pts.RemoveAt(0);//新的进来,旧的出去
		}
	chart.EndUpdate();
	}
}

这就一个简单的产生随机点的代码,将他放在定时器中循环运行,就形成了一个不断生成随机数的模块,上代码

DispatcherTimer dt = new DispacherTimer()
{ Interval = TimeSpan.FormSeconds(0.2) };//创建一个定时器
dt.Tick += (s,e) => Update(); //添加事件
dt.Start(); //定时器开始工作

这样我们就完成了,随机数的连续生成,那么下面就是创建一个简单的图标,这里就不再复述了,参考前一篇文章里的内容,那么就剩下数据绑定了

数据源绑定

这里的代码其实我也不太懂,不管如何,先上代码,写完在分析

//创建一个数据源对象,并设置相关属性
XYDataSeries ds = new XYDataSeries()
{
	XValueBinding = new Binding("X"),
	ValueBinding = new Binding("Y"),
	CounectionStrokeThickness = 2,
}


chart.Data.Children.Add(ds);//将这个数据源对象及其配置导入
chart.Data.ItemSource = _pts;//数据绑定
chart.ChartType = ChartType.Line;//制定图表的类型

这样我们就完成了一个实时数据的动态C1图表

tips对比这里的数据源绑定和前两篇文章有什么不同,就能理解这的数据源对象用法了
!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值