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 a series of classes derived from mpLayer are provided, like mpFX, mpProfile, mpLegend and so on. These base classes already come with plot code, user's own functions can be implemented by overriding just one member for retrieving a function value.
mpWindow has built-in support for mouse-based pan and zoom through intuitive combinations of buttons and the mouse wheel. It also incorporates an optional double buffering mechanism to avoid flicker. Plots can be easily sent to printer evices or exported in bitmap formats like PNG, BMP or JPEG.
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 <cdron77@users.sourceforge.net>.
Authors can be contacted via the wxMathPlot's homepage at https://sourceforge.net/projects/wxmathplot
Contributors:
Jose Luis Blanco, Val Greene.