Skip to content

Backends

This library currently include a GnuPlot backend and an experimental OpenGL backend. Coming up with new backends is a continuous process. See the complete article for a description of the backend interface, a description of the current default backend (Gnuplot pipe), and what's involved in possible new backends. See the directory source/matplot/backend for some examples. Also, have a look at this example test/backends/main.cpp.

If you're in a hurry, here is a summary of the backends we have and the backends we have been considering or are working on:

  • Gnuplot
    • Pros: It seems to be working for everyone.
    • Cons: Pipes are comparatively slow and unidirectional
    • In practice, this is default backend you'll get right now.
  • OpenGL
    • Pros: Efficient for many FPS.
    • Cons: Blocks the main thread on some operating systems
    • The experimental OpenGL backend already works for some plot categories. see 1
  • Qt
    • Same as OpenGL see 1, 2
  • AGG
    • Pros: Great for vector graphics
    • Cons: Unmaintained, 2D only, and non-interactive by itself see 1, 2, 3