A year or so ago I needed to plot some data; the data was fairly simple (something like the ratio of "expanding waist size" to "thinning hair count" over time).
So, I went to the wxCode site and downloaded wxMathPlot; this is a light-weight plotting canvas that was perfect for my purposes, especially since it handled all the annoying little details like scaling the axis and providing a built-in zoom control. After I made my plot (and got depressed about my hair), I thought I was done.
But, as it turned out, I've used wxMathPlot at least 5 or 6 times in the past year. Enough times, in fact, that I finally decided to write a plugin for it, so I could just select it in wxSmith and drop it on a form and pre-load some data.
This is it. Note that I did not write wxMathPlot, I only created a plugin for it to make it easier to use with Code::Blocks.
The plugin can be download from Rapidshare at
http://rapidshare.com/files/356046463/MathPlot_Compiled_MSW.ziphttp://rapidshare.com/files/356044316/MathPlot_Source_Only.zipor Berlios at
http://prdownload.berlios.de/ringowidgets/MathPlot_Compiled_MSW.ziphttp://prdownload.berlios.de/ringowidgets/MathPlot_Source_Only.zipFrom the wxMathPlot documentation:
wxMathPlot is a framework for mathematical graph plotting in wxWindows.
The framework is designed for convenience and ease of use.
The heart of wxMathPlot is mpWindow, which is a 2D canvas for plot layers.
mpWindow can be embedded as subwindow in a wxPane, a wxFrame, or any other
wxWindow. mpWindow provides a zoomable and moveable view of the layers. The
current view can be controlled with the mouse, the scrollbars, and a context
menu.
Plot layers are implementations of the abstract base class mpLayer. Those can
be function plots, scale rulers, or any other vector data visualisation.
wxMathPlot provides two mpLayer implementations for plotting horizontal and
vertical rulers: mpScaleX and mpScaleY. For convenient function plotting three
more abstract base classes derived from mpLayer are provided: mpFX, mpFY and
mpFXY. These base classes already come with plot code, own functions can be
implemented by overiding just one member for retrieving a function value.
Another class, mpFXYVector, is provided since version 0.03. This non-virtual
class renders 2D graphs from a pair of std::vector's. One of the utility of this
class is that you can use it directly in GUI designers such as wxSmith within
Code::Blocks.
From version 0.03, the mpWindow has built-in support for mouse-based pan and
zoom through intuitive combinations of buttons and the mouse wheel. It also
incorporate an optional double buffering mechanism to avoid flicker.
wxMathPlot sticks to wxWindow's coding conventions. All entities defined by
wxMathPlot have the prefix "mp".
wxMathPlot is published under the terms of the wxWindow license.
The original author is David Schalig <mrhill@users.sourceforge.net>.
From June 2007 the project is maintained by Davide Rondini.
<cdron@users.sourceforge.net>.
Authors can be contacted via the wxMathPlot's homepage at
http://sourceforge.net/projects/wxmathplot.
Contributors:
Jose Luis Blanco <jlblanco@ctima.uma.es>, Val Greene.
Ringo