What are some good toolsets for graphing/charting in a web application? Preferably open-source/freeware, and particularly looking at developing with ASP.NET MVC or Silverlight 2.0.
views:
879answers:
14Dundas Chart is one of the best out there. It's not free, but it's worth it.
Googel Charts was the first thing that came to my mind. I had also used Emprise Javascript Charts at a previous employer with some luck; but it is not free to use.
There's also fusion charts, scruffy and riya. Most of these charting libraries generate charts from xml files, so you can use them from any framework.
If you're looking for free components get Google Charts.
Non-free components which I really like are
- DevExpress Xtra Charts (especially if you use their other components)
- Dundas Charts (great and highly recommended)
For graphs, nothings beats graphviz. There are tons of third party wrapper-libraries so you'll be able to dynamically generate the graphs with most every system.
We use XSLT to transform XML into SVG. Once you build up the various charting formats and data DTDs, its very easy to reuse.
If you are interested in Flash-based charts, then: http://teethgrinder.co.uk/open-flash-chart/
Did a search on CodePlex and found
Free Silverlight Chart Control http://www.codeplex.com/FreeSilverlightChart
Google Chart Control for ASP.Net http://www.codeplex.com/GoogleChartNet
Free Silverlight Chart Control - visifire http://www.codeplex.com/visifire
etc....
The search I used http://www.codeplex.com/Project/ProjectDirectory.aspx?ProjectSearchText=chart
I personally can't suggest any since I never used them, but hope this helps.
For free flash charting, you may look at FusionCharts Free. Or, if you want more professional and are ready to shell out $$$, look at FusionCharts v3
You may now also want to consider the Microsoft Chart Controls for .NET Framework 3.5
These have just been released.
I think Google Charts are outstanding if you're not looking for animations etc. It'll take loads of your servers and Google will render the whole thing for you. It'll also give very detailed control over how you want the graph to look. It's also the simplest and cleanest way I think. It's just an image ... No Flash no SVG and so on.
One tip I'd give is to not use a wrapper API. I found that the easiest way to work with it to use the actually use URL based "API" direct. But I guess that's just MHO.
Depends on what you're looking for.
Google Charts is excellent at what it does and is quick and easy to pick up - I used it for the first time about two weeks ago and was generating multiple reports, in two different styles, within about three hours of first looking at its documentation. However, unless there's more to it than the docs let on, "what it does" is limited to relatively basic charts and it will not support anything particularly fancy. It also requires you to do a lot of the grunt work yourself, such as figuring out what the scale and axis labels should be.
For anything beyond Google Charts' capabilities, I would use the GD::Graph modules from CPAN, but those are for Perl rather than .NET or Silverlight, so they probably won't do you much good.
Note that the public VS2010 CTP image includes chart functionality built into ASP.NET; overdue, but welcome.