I want to develop a webGL based application for data analyzing cum data visualization to represent 2D/3D graphic charts(line chat, pie chart, bar charts etc..,). Are there any open source libraries for such things in webGL? If not in webGL are there any such libraries in OpenGL..
If not in openGL are there any best tools(either desktop or web based application) for data analyzing cum data visualization. The tools can be like giving bulks of inputs of data and should be able to visualize the data finally.
Or is it easy for me to develop a webGL app, I should be able to give .csv or .xls files as input?
3 Answers
- I want to develop a webGL based application for data analyzing cum data visualization to represent 2D/3D graphic charts(line chat, pie chart, bar charts etc..,). Are there any open source libraries for such things in webGL? If not in webGL are there any such libraries in OpenGL..
The analyzing step is best done server side, where you can work in a natively executed environment. On the client side (= browser) you're stuck with JavaScript, and though there have been huge advances in its performance, largely due to Just-in-Time compilers targeting native, it still can not compete with target compiled code.
I'm not aware of any WebGL specific plot libraries, but there may be some.
- If not in openGL are there any best tools(either desktop or web based application) for data analyzing cum data visualization. The tools can be like giving bulks of inputs of data and should be able to visualize the data finally.
Well, it's always difficult to claim a tool is the "best". But what's widely regarded as one among the best visualization toolkits around is VTK from Kitware http://www.vtk.org (it's open source and free).
There's also a very nice Python based visualization framework, that builds on VTK, called the Enthought suite http://www.enthought.com/ . I'm only learning it at the moment (got into contact with it only 3 days ago), but so far it's a very beautiful to work with thing.
- Or is it easy for me to develop a webGL app, I should be able to give .csv or .xls files as input?
Well, WebGL certainly requires a bit less boilerplate code to get set up. But still you'll have to do all the drawing grunt work, i.e. translate a bunch of numbers into drawing commands.
However you'll have a hard time working with XLS files. The format is pure binary and uses something called "Structured File Format", which is not unlike a FAT filesystem in a file. SFFs really manage their data in linked clusters. And after that you've to cope with the binary encoding of XLS. 3 years ago, finally, Microsoft did release the documentation on the file format, but this doesn't make the job reading a XLS file much easier.
CSV files are easy to parse, but why do it, if you got a parser in your browser for free:
I recommend passing the data as JSON, because that's something the clients (= browsers) understand immediately and can turn into a usable data structure directly.
We've just released teechart 3D for WebGL library, free for non-commercial use.
The 3D output is done with three.js library.
http://www.steema.com/files/public/teechart/html5/v2012.12.14.1.4/demos/canvas/webgl/index.html
There is also incharts3d - an open source interactive 3D WebGL chart library. It's available at: http://www.incharts3d.com.
Several features are as follows:
- hardware acceleration
- pure javascript (no plugins required)
- compatible with modern browsers
- fully customizable
- multi series charts
- interactive/dynamic data updates.