CPlot is an open source library for adding plots to MFC-based projects.

The library supports XY style plots that can be scatter plots, line plots, and histogram plots. Up to 10 data sets per chart are supported. Each data set can be set to a different chart style, color, markers (there are a few built in markers), and line thickness.

Axes are auto-scaling, and have an algorithm to attempt to determine "optimal" axis spacing for round numbers. (Of course, this can all be set manually as well.) Axes and titles also auto-scale their font size to fit in smaller spaces, if that is needed.

Two-dimensional (image) data is also supported, with a number of built-in color tables. This data can be presented at normal size, scaled sizes (without interpolation) or scaled sizes with interpolation (and optionally removing the aspect ratio constraint.)

Contextual (shortcut) menu support is also built in and is dynamic, giving the options needed for the current data set(s).

Implementation is simple. Given an existing data set, there is a call to make for creating the data set (and optional calls for setting up axes, etc.), and a call to make for drawing the data set. The tutorial goes into a bit more detail, but it is still very simple! Contextual menu support is one line!

This page is still not completed. For the most part, the sourceforge page for CPlot contains the downloads and such.

There is a bit of information on this site, though!