Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Chart controls for ASP.NET

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:

  • DevExpress XtraCharts (http://demos.devexpress.com/XtraChartsDemos/)
  • Dundas Chart for .NET (http://www.dundas.com/)
  • Telerik RadChart for ASP.NET AJAX (http://www.telerik.com/)
  • ComponentArt Charting & Visualization for ASP.NET (http://www.componentart.com/)
  • Infragistics WebChart (http://www.infragistics.com/dotnet/netadvantage/aspnet.aspx#Overview)
  • .net Charting (http://www.dotnetcharting.com/)
  • Chart Control for .Net Framework (Microsoft's) (http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx)

Flash controls:

  • FusionCharts v3 (http://www.fusioncharts.com/)
  • XML/SWF Charts (http://www.maani.us/xml_charts/index.php)
  • amCharts (http://www.amcharts.com/)
  • AnyChart (http://www.anychart.com/home/)

Javascript:

  • Flot (http://code.google.com/p/flot/)
  • Flotr (http://solutoire.com/flotr/)
  • jqPlot (http://www.jqplot.com/index.php)

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

like image 548
tolism7 Avatar asked Dec 22 '09 14:12

tolism7


People also ask

What is MS chart control?

A Chart Control is a User Control option that enables you to display chart data in Enterprise Portal. A Chart Control provides good performance because the data needed for the chart to display is contained in the data set. The Chart Control is an extension of the ASP.NET Chart Control.

What are MVC charts?

The Chart uses modern browser technologies to render high-quality data visualizations. All graphics are rendered on the client by using Scalable Vector Graphics (SVG) with a fallback to Canvas. The Charts support a set of series types such as Bar, Line, Area, Bullet, Pie, Scatter, Bubble, Polar, and other.

What is net chart?

NET CHARTS. SciChart is a Realtime, High Performance . NET Charting Library, compatible with WPF and Windows Forms, made with Financial, Medical & Scientific Apps in mind. Perfect for Projects that Need Extreme Performance and Slick Interactive .

How can we add chart type to MVC charts?

You can change the Chart Type by changing “type” property in view to “line”, “area”, “spline”, “bar”, “pie”, etc.


1 Answers

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.

like image 90
cdonner Avatar answered Sep 24 '22 07:09

cdonner