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