I am looking for cross-platform data visualization solution.
It should ideally work in web browsers and by extension on Android and iOS devices.
To go into more detail, I'd like for the server side to be able to accept data via HTTP POSTs (XML, JSON, etc), and then allow for themeable output of these data via widgets (Drupal-like) such as meters, graphs, plain text etc.
The data types should be configurable and easily created/modified.
Here is a quick example:
I want to show temperature from a bunch of sensors as a graph. The sensors can POST the data to a main server and the server can then be called from a browser to display a chewed-up and configurable graph.
Thanks for your input guys!
A little searching on google would yield a lot of libraries, My favorite being a html5 one called Rgraph http://www.rgraph.net/
High charts is another excellent solution. http://www.highcharts.com/
These are both html5 based.
You can check the combination of google spreadsheet for the DB/backend and Google Visualization for the frontend visualization.
Google GData API has a nice set of client libraries that make writing POST data into Google Spraedsheet a very simple task. Check out: http://code.google.com/apis/spreadsheets/data/3.0/developers_guide.html#CreatingListRows
ListEntry newEntry = new ListEntry();
newEntry.getCustomElements().setValueLocal(tag, value);
ListEntry insertedRow = service.insert(listFeedUrl, newEntry);
On the other end, It is rather easy to use the JavaScript libraries of Google Visualization to extract and present data from a published spreadsheet. It has a wide range of widgets ready to use. If you are missing any specific widget, you can use any JS library with some manipulation of the JSON data.
For simple example on the ability to turn a Google Spreadsheet to a live chart check: http://code.google.com/apis/chart/interactive/docs/spreadsheets.html#Google_Spreadsheets_as_a_Data_Source
Related
I am trying to create a website that display Google map mark up with my proprietary data (in form of multiple polygons) on top of it.
I have been studying Google Map API and found the only way to do it is to publish my proprietary data in GeoJSON file then use the following api function to load the data to Google map: map.data.loadGeoJson(xxxxxx);
This means I need to publish my proprietary data by web service in GeoJSON format. However, I don't want users to download my proprietary data and use it for another purpose other than my site. This is similar to a website which allows video streaming but not allowing download the whole video offline.
How can I achieve the purpose? Can I use some language like PHP to generate the map (with markup) at server then send to web client in form of HTML? Or if I cannot achieve this by Google Map API, can other map API support it (like Bing?)
Thanks very much for your help!!!!
Code Mon key
One option is to turn your data into a tile layer. This will limit the user to only seeing an image of the data but would not give them access to the raw data. In a worse case scenario they would only be able to take the images and view the data and not do any kind of analytics against it unless they manually trace all the data.
As an added benefit of rendering the data as a tile layer, you will be able to visualize a lot more data. I've built a few systems that can render 500M rows of polygon data on a map using this approach. The cool thing, if you store the data in a spatial database like SQL Azure, you can easily make your data interactive by taking the point a user clicks on a map and searching the database for any shapes that intersect with that point.
I wrote a simple blog post on how to create a web service that does this many years ago here: https://rbrundritt.wordpress.com/2009/11/26/dynamic-tile-layers-in-the-bing-maps-silverlight-control/
There is also a good open source project here that uses ASP.NET: http://ajaxmapdataconnector.codeplex.com/
I have a whitepaper that is a lot more up to date than my blog post that will be published soon. If you email me at ricky_brundritt at Hotmail.com, I'll send you a draft copy.
I have two basic bar charts and I am currently using XML/SWF Charts which is great but the problem I have is I need to be able to send these graphs via email to the user. As well as display them on the site.
I know sending Flash is a bad idea, I would love to find a way to convert my current graphs to an image, but am pretty certain there is no quick fix without building a work around myself.
Therefore what are the best open source or closed solutions for this problem.
I need to be able to display two graphs dynamically and then email them to users.
Any advice is appreciated.
You may want to check out the "Google Image Chart Api" (not to be confused with the Google Chart API).
http://code.google.com/apis/chart/image/
It allows you to generate numerious different types of charts just from the URL.
For example:
https://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World
That URL could also be put into an HTML e-mail.
Alternatively, looking at this stackoverflow quesiton FLASH save frame, to image (tiff, bmp, jpg, gif, png)
If you can modify the flash movie. It appears that you can save frames in AS3 via BitmapData. So you may be able to send the data back to the server for processing (emailing). But I can't vouch for this as I haven't tried it.
jqPlot seems pretty good. Piwik uses it. http://www.jqplot.com/
I would recommend using gRaphael. It is a javascript library for rendering graphs using svg(or vml for IE8 and below). I've personally use it and it is quite good.
This probably won't work for you since you're not running .net, but for anyone else who's looking for resources for generating charts there's the MS Chart controls.
One web application of ours requires a feature of displaying charts in it. Basically we have to show different types of charts for different purposes such as pie charts to give information about some purpose,Bar charts for some other purpose whereas Complex charts for complex data.Note that this charts will be created dynamically depending on the data in the MySQL database so we cannot use simple images.
I have been told to read the integrate this feature in our application.I Google and found High-charts,Open Flash Chart 2,Google Charts. What should I use as I don't have experience of integrating charts.
I'd recommend taking a look at ZingChart. (I'm on the ZingChart team and your question popped up on my Google Alert).
We allow rendering of charts in both HTML5 and Flash. Many of our customers have migrated from all different libraries and tell us they really enjoy using our framework.
Check us out at http://www.zingchart.com
Feel free to send any questions/feedback to us at support[at]zingchart.com.
Best,
Andrew
The easiest ti implement is:
Only PHP based: / rendered by GD as image: pChart
Flash Based: FusionCharts: Both commercial and free versions are there with almost every kind of chart.
i want to make bar chart,but i want to write dynamic text on bar itself.
This isn't specifically jQuery, but I found this graphics toolkit rather simple to use, as you can learn by example, and they have many examples to peruse.
I recommend Protovis for creating charts with JavaScript. See their home page at: http://vis.stanford.edu/protovis/
Google Provides Awesome Bar Chart Library. We followed Bar Chart tutorial in this tutorial we can get dynamic data from mysql and Plot dynamic Bar chart
jQchart
tufteGraph
drillDown
google Charts
I recently developed a small graphing library for fetching database data, process it with PHP and create Google Analytics style interactive graphs from it (uses flot to render the graphs on the client side).
It's basically a complete server/client solution to turning your database tables into graphs, and should be easy to integrate with Kohana (I've used it a lot with the Zend Framework).
how do i (after getting the right stock prices from a source) show it on a "live graph". i'm looking for a php/ajax toolkit that allows me to create that graph live?
is that the right thing to use or a flash based solution is better?
are there 3rdparty sites that offer to create live graphs given input data?
Highcharts is probably what you need.
I recently started a new project to simplify the construction of a graph when using php:
http://aloiroberto.wordpress.com/2010/02/04/highcharts-php-library/
Also, Google Charts or Open Flash Chart are concrete possibilities (the latter will require Flash).
you can have a look at JPGRAPH. It is a wonderful library for creating wide variety of graphs.
As far as ajax is concerned this library outputs the graph as a picture file, so you can easily send the required parameters using ajax and build the graph dynamically using ajax.
PHPlot also is a free library: http://phplot.sourceforge.net, but compared to JPGraph it's rather limited. It also delivers a picture so you could grab that via AJAX and display it.
Birdeye has some incredibly powerful graphing tools. Check out the Birdeye Explorer to get a sense of what you can do with it.