This overview covers the CSTK visualisation classes for plotting real-time data using the X Window Libraries

The Visualisation Classes of CSTK

The wide availability of the X Window System allows running CSTK's graphical routines on multiple platforms, especially handheld ones such as iPAQ's (see picture), but also most Linux distributions and OS X. For MS Windows systems, Cygwin can be installed with X Windows. The X Window System source code is available under the MIT X Window System License, see

iPAQ Plot


X11Plot is a basic class that opens an X Windows System window with the specified parameters (height, width, position, etc.) and basic functions that facilitate data plotting routines. It is used by the plotting routines below as a canvas and contains basic event handlers for closing, minimising, or resizing the window, and input from the keyboard or mouse.

The latest source for X11Plot can be found in the CVS under viz/x11/.


KVplot Screenshot

KVPlot contains several visualisations for real-time sensor data that are kept simple to stay fast enough on smaller systems (such as PDAs). It allows strictly BinVector and KVector as an interface, so it might be necessary to convert from BVector or DVector before calling the plotting routines (see the CSTK vectors for more information). Another restriction is the number of colours that can be accessed, or additional features such as on-plot legends and markers, which have been sacrificed for speed. KVPlot is used by one of CSTK's more popular tools, RTPlot.

The latest source for KVPlot can be found in the CVS under viz/x11/, and an example (kvplot_demo) is located in examples/.


ClustPlot contains mini visualisations that make up topological maps from real-time sensor data. As with KVPlot, ClustPlot uses exclusively the KVector class for interfacing, again in order to stay fast enough on smaller systems. The source code of TopoPlot gives a good example of how it should be used.

The latest source for ClustPlot can be found in the CVS under viz/x11/.