views:

949

answers:

11

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.

+1  A: 

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.

trace
A: 

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.

Gabriel Mongeon
A: 

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.

ShaunLMason
I love the Google Chart API personally, but struggle to justify it in a business environment - you are literally sending your data to another company in order to do what can be done trivially inhouse anyway. Not good in a lot of situations.
Moo
@Moo - I don't disagree, but it is still an option.
ShaunLMason
+2  A: 

I went with the Microsoft Chart control, mentioned as the marked-answer, over here: http://stackoverflow.com/questions/638727/charts-for-asp-net/638740#638740

Optimal Solutions
+1  A: 

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.

Naeem Sarfraz
A: 

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.

harriyott
+1  A: 

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.

Kinlan
+1  A: 

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.

cdonner
+1  A: 

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).

fearofawhackplanet
A: 

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.

boe100
A: 

Hi all,

I am using chart control in .net 3.5.While drawing the column chart i see that the gridlines are not come evenly in my output.The gridline is automatically drawn at point where datapoint is plotted parallel to x-axis.I want to make it as perfect scale. Can anybody help me to solve this problem or what can i do progarmatically?????

Thanks and regards

Yogesh

YOGESHWAR