I write a C#-application at the moment. For my finance data, I want to use a bar chart. After I searched a lot on Google, the best way seems to be Google Chart API.
My problem is, that it should not be necessary that I have internet-access when I start my application.
Is it possible to work with Google Chart API without internet-access? Or what is a good alternative for a bar chart in WPF?
As for native WPF charts you can definitely take a look at DevExpress WPF Chart control - DXCharts
They supports animation, end-user interaction and work pretty fast in my projects that handle financial data.
Google APIs work online only and you cannot consume them while offline.
about alternatives, the MS Chart control should be free, see how to use it from WPF or SL here:
Microsoft Client Continuum in action: The Silverlight toolkit charts, running in WPF
for commercial level and feature rich controls, personally I love the XtraCharts from DevXpress, there are also others from Telerik and Software FX but XtraChart is really easy to use and powerful.
Related
I am looking for a .NET 2.0 compatible simple Chart/Graph control to embed in my Winform application. So far I could only found Zed Graph. While it has all the functionality I need and then some, my problem is that its looks too professional for its own good. I tried customizing it and playing with its styling properties but the graph still looked dull.
I need a snazzy looking control which can give a chart that looks similar to this one
I don't really need all the details Zed Graph gives.
Can someone suggest a free control that can do this. Please bare in mind that the control should work with .NET 2.0
Regards
NPlot
NPlot (formerly known as scpl) is a free charting library for .NET. It boasts an elegant and flexible API. NPlot includes controls for Windows.Forms, ASP.NET and a class for creating Bitmaps.
Question: Anybody has experience with ZedGraph / MS-Chart controls ?
I am thinking about which to use ?
Basically, I have a tendency to ZedGraph,
because I need .NET framework 2.0 while MS-Chart is 3.5 (and I don't know how well a 3.5 assembly works on 2.0)
and because I could use it privately, too (I use Linux privately).
But I don't know if MS-Charts offers more.
Does ZedGraph for example offer reasonable quality 3d piecharts ?
And reasonable color design, like gradient colors ?
And if it does, is it as simple (or nearly as simple) as MS-Chart controls ?
And does ZedGraph offer databinding, e.g. a datatable from a database ?
I've tried some examples in my free time.
With a bit of minor tweaking, ZedGraph's quality is just as good as MS/Dundas Chart controls.
Here's an example of a 3d piechart:
http://www.codeproject.com/KB/web-image/3dpiechart.aspx
Zedgraph is a bit more user-unfriendy than MS/Dundas chart controls.
However, Zedgraph is also more powerful and faster, while the rendering quality is the same.
Plus Zedgraph is cross-platform, while MS-Chart controls is limited to windows (by license, not by technique).
So the way to go is definitely Zedgraph.
A deeper reason can be found here:
http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/1271d98f-f52e-424d-a0dc-8bc831a5f4b8
I have used MSCharts since they went RTM and have been pleased with them for many different kinds of charts; however, I find them deficient when I want to generate a plot or a graph. For these, ZedGraph seems to offer a more appealing solution.
The MSChart Samples environment can give you a good idea of the capabilities of that library. You can compare the samples environment to the demos from the ZedGraph wiki to see they have a lot of overlapping capability. I've just found that this kind of chart is pretty difficult to create with MSChart.
I have used them to create complex dashboards, and they are very stable, well written pieces of code. However, you have to consider the fact that whichever you would be betting on, would actually be there for a long time.
Additionally, if you're using MSCharts, you would be able to use the same knowledge to build charts for web applications as well (on ASP.net)
However, if you are using them in a server ASP.net based environment, the only issue with MSCharts is that they are not dynamic charts i.e. they are rendered as images and returned from the server. They use image maps to support HyperLinks / Tooltips, and work pretty well.
I haven't used MSChart, but from my experience with ZedGraph, you can't make 3-d charts. ZedGraph also requires a bit of tweaking to make really sharp looking graphs (if you notice, most of their examples don't qualify for this title).
I am just starting a new ASP.NET application. Is it preferable for me to use the MS Charting controls for .NET, as that's already the domain I am using, or is there a real reason to look at other tools such as Google Charts?
Also, I can't seem to find any online/live examples of the MS Charting component online, which makes it a bit difficult to evaluate...
Here's a good tutorial on Microsoft's .NET Chart Control.
http://dotnetslackers.com/articles/aspnet/microsoft-chart-with-asp-net-35-part1.aspx
While it's good for simple charts, you're better off with a 3rd party control like Telerik's RadCharts for better customizablity & features
You should evaluate SVG+jSON as well. Before you evaluate, you should estimate the load on your web site. Server side charting API's provide very good functionality, but do comsume CPU cycles.If you are expecting a lot of traffic for those pages, you are better off with SVG+jSON for charting. There are some good jQuery plugins which can do that for you
I am doing a lot of charts and my experience is that you get more and more requirements on the charts and then it is good to have a product that can meet the new requirements so I have used Software FX Chart FX
http://www.softwarefx.com/
(source: softwarefx.com)
This is a mature product (like Dundas) and so far I have succeded to create what I want. The test I did with MS Chart worked good and was easy to create the charts but I feel the API is better for Chart FX.
http://demo.softwarefx.com/chartfx/aspnet/ajaxsamples/
see above...
I faced the same question a couple years ago. The clear answer to which option, at the time, was Dundas Charts. And indeed, we did use Dundas Charts, with ease.
Since then, MS has acquired their chart codebase and included it in their 3.5 framework. You can easily use it with ASP.NET. Check out this blog post:
http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx
<asp:chart ...
Another third-party controls library I've used for charting is Devexpress. It took very little time to get a product up and rolling with Devexpress (maybe even less), but in the end, Dundas had more functionality for customization.
ZedGraph
These options:
ASP.NET Chart Control gallery
In addition, don't forget to check out the ASP.NET Chart control (linked to by Chris). I believe that MS bought out the control from Dundas.
The Google Chart API with a ASP.NET wrapper
If you are ready for some Ajax, look at the way SO draws the reputation chart. The tool is a Jquery extension named flot.
Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.
I have used http://www.fusioncharts.com/ in the past and have found them to be very good.
Do you know of a [free] library for graphing or charting, similar to Zedgraph, but that works for developing on windows mobile 6?
A basic, free chart API is http://www.codeproject.com/KB/mobile/pocketbargraph.aspx
If web access and bandwidth are not a problem, http://code.google.com/apis/chart/ might be an (admittedly unconventional) option.
Regards, tamberg
I once used a listbox to create a (horizontal) bar graph. I needed to catch a paint event for the listbox items to be able to draw the bars. Not easy, but free if your time is free...