At the highest level, Chaco classes fall into two broad groups: those that mainly deal with data transformation, and those that deal with rendering. The first group of data-oriented components is fairly small, but it is crucial to the Chaco model. The latter group of visual components includes basically everything that the user sees and interacts with.
All visual components in Chaco have position, bounds, a place in the containment and layout hierarchy, a place in the rendering order, and can respond to keyboard and mouse events. Examples of visual components include axes, grids, plot renderers, legends, and tooltip overlays.
The data components in Chaco consist of data sources, ranges, and mappers.