The main object in this library is QSWorkbook, which represents the document. Workbook can be displayed on the screen using a provided view named QSPlotView. Workbook holds a list of QSPage's and each page contains a list of QSCObject's which are placed on it, QSCGroup is an object which can contain other objects, but behaves as a single one. You can display graphs using QSCAxesShadow object. It is a simple wrapper around QSAxes2D and QSAxes3D - they don't inherit QSCObject directly because of problems with multiple inheritance. These objects don't draw much by themselves. They serve as containers for datasets and axes. Datasets inherit QSPlot class. These are QSCurve, QSImage, QSContour, QSSurface, QSFigure. QSAxis class represents the single X, Y, V or Z axis. Axes and datasets inherit QSData interface. This means that they contain data organised as a list of matrices. For example QSCurve accepts four matrices: XVector, YVector, DXVector, DYVector and draws successive points ( x, y, dx, dy ) as a curve with dx and dy used for error bars. Your data is not assumed to be in some peculiar format - you will only have to implement an abstract QSMatrix interface. It is very simple, you may look at providen examples. You can repaint objects not only using a Qt's painter but also using a driver of your own, see QSDrv. This library uses its own graphic attributes such as QSGFill, QSGFont, QSGLine, QSGPoint, QSGArrow, QSGGradient, but you can easily convert them to/from coresponding Qt attributes using funtions from QSDrvQt class. See the inheritace tree under QSSerializable, it is a good point to start.