5
votes

I am looking people's opinion and experience on using chart controls within an ASP.NET application (web forms or MVC) primarily but also in any kind of project.

I am currently doing my research and I have a pretty big list of controls to evaluate. My list includes (in no particular order):

ASP.NET controls:

Flash controls:

Javascript:

(If I missed some that worth to be compared against the above please let me know.)

What I am looking is opinions on using any of the above so I can form my own and help others do the same, based on what I read here.

I do not care which one is better. What I care for is why someone likes one of the above and what do these controls offer as a distinct advantage. I am interested in developer's opinion and I would like to find out which things are difficult doing with any of the above controls and which things are easy to achieve. AJAX compatibility (build in to the controls but also manual), ASP.NET compatibility, input capabilities, data binding options, performance, how much code does one need to write in order to create a chart, are some of the things that I would want to read about.

I have already done my research on StackOverflow for relevant questions but there is nothing on the level of detail that I would want to read in order to make a responsible decision.

11
I think it would help if you let us know what you are looking for in a chart control. Is there a particular style, or set of styles, that you need? Are you restricted to a particular technology? Your question is too broad to get any specific answer.Jeremy McGee
you forgot google charts: code.google.com/apis/chart very easy to implement.jao
I agree with Jeremy, you should know what you need. Have you tried every of those or just a sample?Gabriel Mongeon
@JeremyMcGee Thanks for your comment. The question is intentionally broad as I want to hear people's experiences with the above control. I know what I am looking for and I will be probably use more than one kind of the above controls (i.e. one ASP.NET & one Flash) What I do not want to happen s to make my choice and then struggle with them because they do not offer good data binding options for example of because they underperform on AJAX etc. This knowledge can come only from people who have used them and have seen their pros and their cons.tolism7
I'm part of the team that created Nevron Chart for .NET (nevron.com) and would recommend you to test it - it has great ASP.NET AJAX support, supports 2D and 3D charts (in real 3D using OpenGL) as well as many export formats - SVG, Flash (with animations), PDF, PNG, JPEG etc. Works in ASP.NET, MVC, SSRS and SharePoint server side environments.user2641607

11 Answers

2
votes

I worked a little bit with Google charts and the .Net Chart Control (formerly Dundas Chart 5.5). I do not have an opinion about the other products you listed.

At the time (a year ago) there was no functioning .Net wrapper framework for Google Charts (at least I did not find one), and while the Google Charts Api is relatively simple, it is also very limited. I found the resulting code that composes the chart request to be inherently ugly and not very maintainable (not necessarily the fault of the API, I know - but it would have required a much larger investment to do it better). Here are some of the resulting charts. For instance, I was unable to find a way to align the grid with the tick marks. The 30mph line on the third chart seems to be randomly placed. If you need fine-grained control, Google Charts is not your choice.

The .Net Chart Control on the other hand gives you a lot of control. I worked on a prototype earlier this year and the goal was to create charts that matched the ones from a print publication put together by a design firm. At first I thought it would require compromises, but the Chart Control turned out to be capable of the job. Here is the result (click the 2nd tab). I found the ability to use a range chart in this way, and have control over the placement of the labels for the vertical lines at special values pretty unique for a free tool. Also, Alex Gorev who runs the MSDN forum turned out to be very helpful when I ran into an issue (even though he could not ultimately solve it).

Not a control, but another option for producing charts and publish them to the web, is SSRS. I have used the web service interface to publish a report that contains a chart. This could be a better option for very large sets.

2014 update: The comments above are for a previous (obsolete) generation of Google's chart API. The new API probably addresses many of the limitations, so you should check it out.

2
votes

SimpleChart is a straight forward and easy to use component. I've used Fusion Charts and would also recommend it for simplicity and well presented graphs.

2
votes

I went with the Microsoft Chart control, mentioned as the marked-answer, over here: Charts for ASP.NET

1
votes

so far the best charts I have used is FusionCharts. it can be used with any programming language, as it provides a good documentation. the free version is good enough.

1
votes

I have done a lot of .Net projects that required graphing and would recommend a solution outside of .Net. The reason why I go outside of .Net is because I expose my datasets by JSON (usually) and like to move the processing to the client. Altogether this saves me burgeoning my servers with graphically intensive tasks.

I have mainly used Javascript API's and I would recommend Protovis because the charts are beautiful (but not always compatible with IE) and can be manipulated in realtime on the client with new AJAX fed datasets.

Another of note is Google Chart and Visualisations.

1
votes

Echoing everyone else - it all depends what you need to do with it.

We looked at a number of chart controls for a recent project and it's amazing how many of them have really basic limitations. As an example, we needed to specifically set the size and position of the plot area - you'd think that would be easy but the dundas and the microsoft charting api can't do it. We also had a lot of problems getting charts to format datetime scales sensibly.

In the end we went for dotnetCharting. The website makes it look pretty rubbish, but we've found it to be extremely good, if a little quirky in places. I'd thoroughly recommend it to anyone. It's got some reasonably slick AJAXy stuff, but to be honest you can (and we did) custom write most of that stuff yourself anyway. There are more important things to consider when choosing the tool imho.

Make a list of specific things you think you'll need and then find a control that does them. Don't make any assumptions, as a lot of the tools have pretty elementary problems (as above).

0
votes

I did not use a lot of charting tools, but make sure it will work with MVC if you are planning to use this framework. I have some issues with the DevExpress Grid and MVC.

0
votes

I haven't used a cross-section of these controls, but of the ones I have used, I prefer the Infragistics WebChart.

In my opinion, the designer is easy to use and there is a ton of flexability.

My second choice would be the Google Chart API.

0
votes

I've used the DevExpress XtraChart in ASP.NET, and it was great. I've used Google Chart API successfully in a rails project, but as it is hosted, generating the points and labels would be easy on any platform.

0
votes

I am using ChartDirector in my projects. The thing that I like the most about this component is very complex examples. I have been able to implement their financial chart example with almost no alterations saving enormous amount of time in the process.

0
votes

i has used microsoft charts control in one of my project. it provided me things that i needed.

Tutorial on Charts Control: http://parasdoshi1989.wordpress.com/2010/10/03/how-to-include-charts-in-visual-studio-2008-express-edition-using-microsoft-chart-control/