Good Ajax Chart/Graphic Library - javascript

I know there has been several discussions on JavaScript chart/graphics libraries, and there is many out there. What I need is one that can:
Zooming and panning
Data point manipulation (like when click on a data point, highlight other data points within the data series with the same certain parameter of the clicked one)
Dynamically change data point values (e.g.: dragging a data point dynamically updating the line shape)
Error bar support, horizontally and vertically
Select data points on the chart
Seems like Flot may have most of the features, if not all(not sure about 3, and 4), but would like to see if I don't miss out on there nice libraries.

Check out the awesome Visualization API on Google's AJAX APIs Playground

Take a look at http://raphaeljs.com/ library.
It has a plugin called gRaphaël which is charting plugin.
Look good but personally didn't use it.
Good luck and share you expirience if you try it.

The Dojo Charting Engine has a pretty astonishing featureset. Sadly dojo seems to suffer from a general lack of evangelism.
I dont know if there are good introductory tuts, maybe the best way is to learn from examples.

Related

Is it possible to create d3 nodes with multiple edge ports?

I'd like to achieve something similar to this diagram using d3:
https://gojs.net/latest/samples/records.html
I was trying to look it up on the web but I hardly found any resources to get started with.
I'm quite new to d3 so I don't know how to approach this task, any help or guidance would be appreciated!
This is another one of those questions where people need to implement a sophisticated diagram visualization and they think just because D3 is a lot about visualization, it will be a good fit.
IMHO it is not.
D3 could be a part of the solution, but it certainly cannot be the solution alone: It's almost like asking whether JavaScript can be used to create this kind of diagram. Of course it can! D3 is just a very thin (but very useful) layer on top of the DOM+JavaScript, that can help you with crunching numbers, work with colors, coordinate systems, create DOM elements, and simplifies working with the DOM. Think of it as jquery for DOM and data plus a lot of very nice demos. But the value very often is in the demos, rather than in D3 itself: You need to implement a lot of things to get from a simple mapping from data to dom elements to a sophisticated diagram visualization like the one you are referring to.
If you don't want to implement and maintain most of the low-level diagram logic yourself, you should rather be looking at a diagramming solution, rather than a tool that will help you create SVG elements elegantly with less code.
Look at this question to see a list of graph and diagram visualization software. Agreed, D3 is also on this list (for the same reason you are asking this question), but there are also far more capable tools on that list that you should be looking at, my recommendation being either the one that you've found already or preferrably this one if your requirements are more sophisticated.

Javascript big-data visualisation

I'm about to develop a UI for medical research application. I need to make a time series line graph. Main issue is the amount of data:
5,000 points per graph, with a few of them displayed simultaneity. I’m expecting 50,000 points processed all together.
The question is what presentation library?
The main features I’m looking for are: Handles huge data sets, Zoom, annotations, live update.
I’m already looking into http://dygraphs.com/ and http://meteorcharts.com/
I wouldn't want any library that renders the data as DOM elements, or that uses SVG (from performance perspective)
Well, I think I'll give everyone my own answer to my question:
Dygraphs (http://dygraphs.com/) seems to be on the spot. The documentation, although a lot of apparent efforts, leaves a lot to be desired. But from performance, features and flexibility, it's the best I've seen. At least for my current project needs.
Way to go, Dygraphs!
Have you checked out D3? I'm using that for a lot of graph visualization. It looks like this example renders to svg.
My stuff renders to a SVG for force graph visualizations too, but it looks like D3 might be able to use either a canvas or SVG, but I'm not positive about what all can be rendered to which. Honestly, I'd give D3 a try even with SVG, it might be fast enough. I remember reading something about someone simulating thousands of particles using D3's force graph visualizations without issues. It's SUPER easy to get your data into the right format for it to use.
Good luck!
I am developing a very similar application.
I am currently using Flot for the chart rendering. It handles annotations and zoom, take a look at their plugin library.
I recommend this downsampling plugin which will speed up graph rendering. Rendering 5000 points on your graph is useless: you have less vertical pixels on your screen than that! so this library will only render those that actually have a visual importance.
This only gives you the graph. You may want some kind of dashboard to present all that... I am currently looking at Grafana, which is used for a totally different purpose but makes awesome dashboards. It may be possible to "rip out" their dashboarding features (it uses Flot as well).
Another option is Hightcharts, but that's not free.
Check raphael js Library
Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.

Javascript chart component that can handle annotated news headlines

I am looking for a Javascript chart component that can embed news headlines directly on the chart, similar to what is available with Google Finance
I know that this is possible in Flash with e.g. Google Chart Tools (http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html) or amCharts (http://amcharts.com/stock/events/), but I'd prefer to avoid using Flash, because of use with iPad and iPhone.
I have also been looking at Flot (http://code.google.com/p/flot/) and Humble (http://www.humblesoftware.com/finance/index), but since these are made using the canvas element, I don't think they work well enough in IE. I know they both use excanvas to make it possible to use them in IE, but they just don't perform well enough. I have been testing them in IE 6-9 on several computers and the results simply aren't good enough for me to confident in using them.
I have been quite impressed with Highcharts (http://www.highcharts.com/demo/?example=line-time-series&theme=default) and Raphael (http://g.raphaeljs.com/), but neither of those have implemented annotated news headlines by default, so it would require a lot of work to get it done. Do you have any other suggestions on how to do this without flash and without using canvas?
Also I would be happy to see demos, if anyone has implemented a similar solution.
Thank you for your time.
One of the examples for Raphael (the original graphics library, not the graphs extension linked to in the question) looks like it may be close to what you are looking for: http://raphaeljs.com/analytics.html
It's an old question, but if somebody still finds it - you can have this with JavaScript version of amCharts: http://www.amcharts.com/stock-chart/stock-events/
Disclaimer: I am the author of amCharts.

JavaScript Charting library - Google Analytics Style

I'm searching for a Javascript library to create line charts like the ones of Google Analytics. When the mouse is over a point, a box shows you the data.
An example is at http://wikirank.com/en
No Flash or Air, only JS and client-side Canvas...
Better if Free...
Edit: If you want a free library, try Flot.
Emprise Charts is a commercial library that I've seen featured on news sites.
Another option is to use Google's visualization APIs.It's pretty easy to use, and they have a several options for displaying data. One thing to keep in mind is some of the visualizations require you to send your data to their server, though none of the canvas/svg ones have this requirement.
There's JS-Charts which looks pretty awesome.
Or, if you fancy rolling your own you can create your own charting component using this library...
As an alternative to Flot, if you are using Prototype.js as JS framework, you can use Flotr.
Dojo also has something similar, though the example shown doesn't have similar functionalities but can be implemented to behave like the one you want,
http://dojocampus.org/explorer/#Dojox_Charting_2D_Lines,%20Markers,%20No%20Axes,%20Purple%20Theme,%20Custom%20Min%20Max
Raphael.js is pretty good at making graphs with svg/vml, you have to write some custom code though, but you can make some really nice animation with it, next to that it's compatible with ie6+ (only not with android 2 browsers).

What are the best Javascript/Flash frameworks to render graphs or charts from data?

Ideally I'd like to do as little preparation data work on the server as possible. The less I have to do to prep the data from the database to make a given chart, the happier I am and the more view I can make in the time.
Some of the things I'd like to chart are, for example:
The distribution of a series of response times
The number of occurrences per category (basic bar chart)
I'm sure there are others I haven't thought of yet.
Anything that helps me get from a series such as:
[1, 2, 2, 2, 3, 4, 5, 5, 3, 1] or more likely something like [1.2, 3.2, 3.1, 1.1, 4.3, 3.4] where it isn't just a case of counting the frequency of the item
to an actual distribution would be great.
Thanks.
EDIT: To clarify I guess I'm asking for more than just charting APIs, a search on Yahoo or Stack Overflow already finds answers to that. I'm looking for something that can help me turn data into visualizations with the least effort. So with the series above, something that could map it directly into some standard distributions such as a Gaussian distribution.
I like Google Charts API. It is brain-dead simple to use. You generate your data in the URL for an image, and the Google server spits back the GIF with the chart in it. You don't need JavaScript or Flash.
I use JS Charts, which is a Javascript based one, looked simple and easy enough for me to use. They even have support for xml data in addition to js. It is free and they have got some examples.
Works on IE and Chrome fine, so ideally should work on Firefox. as well.
On the Flash side, there is Open Flash Chart , they have got some helper classes for major languages.
Edit: based on the additional information in question i guess Google Visualization API (http://code.google.com/apis/visualization/) might work out for you.
jQuery Sparklines
I've used flot (http://code.google.com/p/flot/) with some good results. It's pure javascript, doesn't require flash. It uses an html canvas to draw the charts from javascripts. Works on msie with a plugin. Some examples: http://people.iola.dk/olau/flot/examples/
Take a look at amCharts. It's a Flash based library. You can pass data to it in XML or CSV format (or in case you use ASP.NET there's a control wrapper which supports data-binding).
Try the Google visualization API.
http://code.google.com/apis/visualization/
On http://www.drasticdata.nl there are some interesting flash based graph and treemap utilities.
The hierarchical bar chart or the dynamic treemap might be of interest for your task.
I've used flotr(http://code.google.com/p/flotr/) before, which is heavily inspired by the above mentioned flot, but instead of jquery it uses prototype. It works the same way as flot as in it is pure javascript.
I haven't used it extensively yet, but after some initial fiddling around i was quite impressed with Open Flash Chart (which i just noticed was already mentioned by Dinesh above)
My reports done with Fusion Charts always seem to impress. Fairly easy to work with and lots of charting options. Flash is the technology, so no real platform troubles for web display.
JS Charts does not support area charts

Categories