I am working on a project for my company, and I need to integrate some graphs of different types and average complexity to C# in the process of studying stock markets. I found this free library on the Internet, ZedGraph. If you came across it, do you recommend using it? And how well is it supported?
I can recommend ZedGraph. I have been using it with great success for several years in MSQuant, for most plots: mass spectrum display, recalibration error plots, LC peak plots, quantitation profiles and others.
Here are some screen-shots from MSQuant where ZedGraph has been used:
- Scatter plot, with trendline
- X-Y plot with the actual data points shown, line connection data points
- Sticks plot, with overlayed annotation (
TextBox
es, in fact) - Several plots in the same window, types as in 2. and 3. (the two plots in the bottom half)
- Closer look at type 2.
- Collage, type 2. and code in Visual Studio
The source code that is behind the first plot can be found in Source code for MSQuant: frmRecalibrationVisualisation.vb, MSQuant/msquant/src/GUI/forms/frmRecalibrationVisualisation.vb..
In contrast to many other charting libraries, ZedGraph can also be used for scientific/math oriented plots/charts (for example, scatter plots) and not only for business-type plots/charts. Stock market applications may also need scatter plots.
In ZedGraph, there is built-in support for the user to zoom in (infinite) and zoom out, pan (drag while holding down the Ctrl key), save the plot to a file or copy it to the clipboard.
There is one thing I am missing in ZedGraph: the ability for the user to select items in the plot in order to perform some action on those selected items (for example, computing some number, accepting them as verified or marking them as outliers to the application program).
Don't be put off by the state of ZedGraph's development. ZedGraph is mature, is of very high quality, and can be used as-is. There is supposed to be a new team behind its further development.
ZedGraph does not appear to be supported by the original developers anymore. However, you can find it as part of other projects where updates have been made.
For example, per this discussion on a ZedGraph project discussion list:
So I highly optimized ZedGraph for all the curves, and objects. Basically, I optimized how it uses GDI and specifically made it only draw objects that will fit in the chart.
So it scrolls and zooms now extremely efficiently even if I have many millions of objects on the chart. Plus it users nearly zero CPU when it's running in real-time as slower speeds for tracking financial charts.
I fixed a few defects also.
You can find a fork of the repo with the changes here.
I strongly recommend the Microsoft Chart Controls For .NET Framework 3.5 over ZedGraph.
Do you mean Zedgraph rather than Zgraph? Zedgraph's homepage is here and is described in a CodeProject article here. If you are talking about Zedgraph I can recommend it, I have relatively little experience in C# but quite a lot in data visualization. I found it straightforward to get Zedgraph up and running and producing good-looking charts. Zedgraph is very good for 2D charting, I'm still looking for an equivalent for 3D plotting.
I hate to be a killjoy, but I wouldn't recommend ZedGraph.
I was working with it a couple of years ago and noticed that the support was provided by a single enthusiast that seemed abused by everyone wanting his freeware with no compensation or contributions. It's a curse faced by a lot of FOSS authors.
It doesn't look like the software has been updated in over a year now and the help forum is full of queries with no responses. It looks like the author lost interest and walked.
If you use ZedGraph, do it because you want to maintain the underlying code and because you want to contribute back to the user/developer community. If you have no interest in contributing, and you can't maintain it for yourself, be prepared for things that don't work and simply never will. An enterprising company could sponsor the development of the software and offer for-fee support, but you need to decide for yourself if it's good enough to do that and if there is a real revenue model.
Although development seems to have stalled, WPF Dynamic Data Display looked promising.
ZedGraph does not support 3D graphing, such as Surface Chart: Implied Vol Surface
© 2022 - 2024 — McMap. All rights reserved.