开发者

What components and code are recommended for "real-time" viewing of histogram data sets through a web server?

We have an 开发者_C百科app that produces large data sets in the form of histograms. (A "bin" with a value associated with it) and we would like to provide that data to a web server of some kind so that users can see the data.

We also would like users to be able to zoom and expand or contract the bin size - so that the VIEWABLE histogram bins are combined or separated depending on the view/zoom level.

We're (low-level) C++ developers and are unfamiliar with that territory.

So essentially we have three questions regarding this:

  • Is there a recommended web server to use as the publishing engine for this specific use-case or will any old web server do?
  • What component/plugin/software will to do the rendering and user functionality for zooming in/out
  • What communication to get the data set to the rendering engine (say, once per minute or 10 minutes, etc)

The goal is to use an off-the-shelf tool/library/software for this - also would be nice if it was "free".

The current platform for the data collection software is Win32. It will be ported to Linux as well.

Any links to known projects or services that do similar things are appreciated.


A very simple way to generate a bar chart is with the Google Chart API. You basically encode the content of the chart into the URL. For example, try this URL:

http://chart.apis.google.com/chart?chxt=y&chbh=a&chs=300x225&cht=bvg&chco=A2C180&chd=t:10,50,60,80,40,60,30&chtt=Histogrammy+Chart


  1. If you want to show graphs on demand - any webserver will do. IIS on Windows, Apache/Lighthttpd/nginx on linux. If you want realtime streaming - you should use Comet server - hookbox, ape, node.js.
  2. Not sure I am aware of. I would draw myself or use variety of charts libs via JS.
  3. JSON encoded array of values. For realtime transfers you just push your values in the channel as soon as you get them also in JSON format. Clients subscribe to these channels and get data in realtime.


A front end to Google Chart for trying various options can be found at http://www.chartpart.com It is then definitely not cheap, but Mathematica (http://www.wolfram.com/mathematica) has a first class graph support (also for interactive ones).


Open flash chart 2 is a robust web based data presentation system which accepts data in a standard (JSON) format. It provides some good basic charts out of the box, and you can add in customized functionality as needed. It is action script & flex based, so if you don't have that skill set, you might have a hard time extending it, although you should be able to get at least 80% of what you're looking for out of the box.


I have used JFreeChart to build dynamic Histograms for webpages. If you are using Java on the back end, you would generate your graph in the request/response cycle. It is an image you can either stream back to the browser directly or you can write it to a temporary image file on the server and reference it dynamically. The nice thing about JFreeChart is that is HUGELY flexible. The bad thing is that you need to buy the companion book for $60 to learn how to do any of the really cool stuff.


You need a rich internet application to have a interactive and seamless charting functionality. I will definitely suggest flex for charting.

Check http://www.adobe.com/devnet/flex/tourdeflex.html for some chart samples.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜