Mutiple graphs

In a single view

As instances of the GJGraph class are Swing containers, other Swing components can be added to them. This includes additional GJGraph instances.
The top-level GJGraph in a GJGraphContainer is here called the "view". When additional GJGraph instances are added to the view, the GJGraphContainer provides support for multiple axes.
Layered charts with separate scales and transforms for each GJGraph can therefore be supported as shown in the example to the right.

In a multiple views

As both the GJGraph and GJGraphContainer are Swing JPanel subclasses, they can be added to any Swing container e.g. as tabs to JTabbedPanes, to JScrollPanes and to other JPanels.
If a suitable Swing layout manager is used, multiple graphs can be added to create grids of plots e.g in the content pane of a JFrame.
Java programmers are most likely to develop their own code to support this. However, the kcl.waterloo.swing package in the base project contains some presently experimental classes to support grids. This code is intended primarily for users of the Groovy and MATLAB APIs.