使用.NET C#绘制实时数据

时间:2011-08-22 12:10:32

标签: c# .net charts

我正在寻找一种使用C#.NET绘制数据图表的方法。我有一个包含我希望绘制的数据的SQLite文件,但数据每15秒更新一次,我希望能够以指定的间隔“动画”或实时更新数据。

我使用的是ASP.NET图表控件,但发现随着更多数据的添加,它会变慢。当我使用这种方法时,我只是在页面上放置了一个自动刷新并且每次都重新生成图形。

我愿意使用任何可用的.NET技术来呈现这些数据(即Silverlight,WPF,.NET等)。

我也想避免使用任何第三方PAID软件,FOSS .NET解决方案都没问题。

是否有人知道如何呈现数据并生成图表,因此图表只会在每次重新加载“页面”时呈现添加而不是重建整个图表?

谢谢!

3 个答案:

答案 0 :(得分:1)

WPF Silverlight 都支持data binding。如果被监视的数据支持INotifyPropertyChanged,对于集合INotifyCollectionChanged,那么一些幕后observer pattern技术会被连接起来,您可以让部分GUI响应非常数据的精确更改,而不是必须刷新所有内容。这项技术可能正是您所期待的,但如果您不熟悉该技术,可能需要一些小小的工作,这是WPF和Silverlight的主干之一。

幸运的是,入门并不难,而且是对知识的巨大投入。也许从许多free databinding tutorials中的一个开始,或者我推荐一个网络认证视频课程,例如PluralSight提供的那些。

答案 1 :(得分:0)

我会建议一些商业控制的工作正常并且足够快。 http://devexpress.com/Products/NET/Controls/Charting/ http://www.componentone.com/SuperProducts/Chart/

答案 2 :(得分:0)

我开发了一些系统,可以将高频财务数据流式传输到客户端浏览器。他们使用了:

  • Silverlight for the ui。
  • 用于图表组件的Silverlight工具包。
  • .net服务器服务,用于整理并将更新推送到客户端。
  • .net套接字用作传输机制。在您的情况下,更新相对较少,因此您可以使用Duplex WCF。

我建议看一下教程:

在使用Silverlight并以这种方式将更新推送到客户端时,只有新的/更新的数据发生更改,因此只会呈现此数据并且不会重新加载页面。