Registered by Daniel Wagenaar

QPlot is a fully documented library of octave/matlab functions with a C++ backend for producing publication quality 2D graphs. QPlot's key innovation relative to matlab's or octave's native functions is that it allows placement of plot annotations at arbitrary (data) positions in the graph with displacements specified in physical units (i.e., mm or points).

Creating visually pleasing graphs in common data visualization programs such as Matlab is surprisingly challenging. One problem is that the positions and sizes of nondata elements such as textual annotations must typically be specified in either data coordinates or in absolute paper coordinates, whereas it would be more natural to specify them using a combination of these systems. QPlot implements a framework in which it is easy to express, e.g., “This label should appear 1 mm to the right of the data point at (3,2),” or “This arrow should point to the datum at (1,5) and be 4 mm long.” It incorporates an algorithm for the correct layout of graphs of arbitrary complexity with automatic axis scaling within this framework. QPlot is a complete 2D plotting package that can be used to produce publication-quality graphs from within Matlab or Octave.

QPlot has its homepage at

QPlot development happens right here at Launchpad. Please contact Daniel Wagenaar if you are interested in contributing.

Project information

Daniel Wagenaar
Daniel Wagenaar

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:
Programming languages:
C++, Octave

All bugs Latest bugs reported


Latest version is 0.1.2

All downloads