在带有html5的折线图上的实时数据图形 [英] Real time data graphing on a line chart with html5

查看:1487
本文介绍了在带有html5的折线图上的实时数据图形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想制作一个线形图,每几秒钟更新一次,不需要刷新页面(它将从一个单独的文件中获取更新在服务器上的信息),是他们的任何JavaScript库(其他比JQuery),这将使这很容易?任何人都可以在网页上显示平均值的例子?从1到10,这是多么艰难(10是硬)

I want to make a line chart that updates every couple of seconds and doesn't need the page to be refreshed(it would get the info from a separate file that updates on a server), is their any JavaScript libs(other than JQuery) that will make this is easy? could anyone show mean example on a webpage? On a scale from 1 to 10 how hard would this be?(10 being hard)

此外,如果重要的是,数据以10秒的固定间隔更新。如果可能,我只想坚持CSS3 HTML5和javascript。

Also the data gets updated on a fixed interval of 10s if that matters. And if possible I would like to stick to just CSS3 HTML5 and javascript.

推荐答案

有几个图表库可以使用: gRaphael Highcharts 和其他人提到的。这些库是相当容易使用和有良好的文档(让我们说难度标度上的1)。

There are several charting libraries that can be used : gRaphael, Highcharts and the one mentioned by others. These libraries are quite easy to use and well-documented (lets say 1 on the difficulty scale).

AFAIK,这些库不是实时,因为他们不可能在飞行中添加新的点。要添加新点,您需要重绘整个图表。但我认为这不是一个问题,因为重绘图表是快。我已经做了一些尝试与gRaphael和我没有注意到这种方法的任何问题。如果你更新率是10秒,应该工作确定(但它可能取决于你的图表的复杂性)。

AFAIK, these libs are not "real-time" because they don't give the possibility to add new points on the fly. To add new point, you need to redraw the full chart. But I think this is not a problem because redrawing the chart is fast. I've made some tries with gRaphael and I didn't notice any problem with this approach. If you update rate is 10s that should work ok (but it may depends on the complexity of your charts).

如果重新绘制完整图表是一个问题,您可能需要自己开发一个图表,使用向量图形库,例如 Raphael paper.js 。这将是一个比使用图表lib更难一点,但应该是可行的。 (让我们说难度标度上的5)。

If redrawing the full chart is a problem, you may have to develop a chart by yourself with a vector graphics lib like Raphael or paper.js. That will be a bit harder than using a charting lib but should be feasible. (Let say 5 on the difficulty scale).

当你在一个固定的intervall获取数据,你可以使用一个常规的ajax lib。 jQuery对我确定,但有一些其他的选择。这可能不是非固定间隔的最佳选择,在这种情况下,您可能需要查看类似 socket.io

As you are getting the data on a fixed intervall, you can use a regular ajax lib. jQuery is ok for me but there are some other choices. That may not be the best choice for a non-fixed interval and in this case you may have to look at something like socket.io but it would have consequences on the server side too.

注意1:Raphael,gRaphael和Highcharts不是纯粹的HTML5,而是SVG / VML,但我想这是可以接受的选择。

Note1: Raphael, gRaphael and Highcharts are not purely HTML5 but SVG/VML but I guess this is an acceptable choice too.

注2:看来,当插入新点时,Highchart不需要重绘图表。请参见 http://www.highcharts.com/documentation/how-to-使用#live-charts

Note2: it seems that Highchart doesn't require to redraw the chart when inserting new points. See http://www.highcharts.com/documentation/how-to-use#live-charts

这篇关于在带有html5的折线图上的实时数据图形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆