使用Web套接字在浏览器中创建图形

时间:2012-11-26 23:11:06

标签: javascript html graph websocket

我正在尝试查找可以在网络浏览器中创建条形图的示例或工具。我将通过Web套接字从服务器发送数据,并且在收到数据时,我希望每个条的“高度”发生变化,反映收到的数据。

因此,用户可以看到图表随着收到数据而变化。

我见过很多例子,但我看不到会有上述例子。像D3这样的东西看起来非常好,但似乎有一个陡峭的学习曲线,而且似乎有很多在那里它变得非常混乱。

我正在寻找简单快捷的事情。

由于

4 个答案:

答案 0 :(得分:6)

您真正需要做的是找到一个简单的图表库,它支持某种形式的重绘,或者一种绑定数据模型和检测该模型更改的方法。常见的步骤是:

  1. 使用初始数据集创建图表对象
  2. 绘制初始图表
  3. 通过WebSocket连接获取更新
  4. 更新数据集
  5. 重绘图表
  6. 复杂性往往伴随着库,因为一般过程非常简单。

    一些例子

    可以通过Code a real-time survey with HTML5 WebSockets上的.net杂志教程找到实时显示投票和实时更新的实时图表示例。它使用Pusher,我为之工作。

    这里还有一个使用DJ,Python,Pusher和Twitter流API的示例: http://bieber.nixonmcinnes.co.uk/

    代码可以在这里找到: https://github.com/nixmc/pusher-d3-demo

    博客文章: http://www.nixonmcinnes.co.uk/2012/04/20/what-can-we-learn-from-the-real-time-web-and-justin-bieber/

    最简单的例子

    此处还有一个使用Pusher和SmoothieCharts的视频: http://www.youtube.com/watch?v=VLTsT30TZYw

答案 1 :(得分:3)

您可能希望查看d3.js以获取“实时”图表的客户端绘图。它的效果非常好,并且像实时条形图(或其他类型)图表这样的操作非常简单,语法类似于JQuery。至于通过WebSocket获取数据,各种websocket包(完全披露 - 我为Kaazing工作,开创了WebSockets)几乎都能做到这一点。

答案 2 :(得分:1)

看看XSockets.NET,有一个Nuget-Package可用于设置WebSockets / Realtime服务,JavaScript API很容易上手。您还可以使用托管版本,“仅”运行JavaScript。有关XSockets.NET的更多信息,请参见http://xsockets.net

http://live.xsockets.net上针对“javascript”版本的托管服务,http://xfiddle.net/上的JavaScript开发人员的游乐场

关于Graph,有一个关于jsfiddle的例子,它包含一个Wijmo图表(bar),它可以实时响应用户输入。在xfiddle.net

中有一个指向该示例的链接

答案 3 :(得分:1)

对于这个旧问题的新访问者,以下是目前使用websocket实时更改绘图的最简单和最直接示例之一(已实施)使用与python或perl配对的谷歌图表:

https://github.com/albertobeta/UberSimpleWebsockets