Chart algebra does not determine the physical appearance of charts plotted on a screen or paper. It simply produces a set of tuples that can be rendered using geometric primitives and a layout interpreter. If we have -tuples, then we can render them directly on a computer screen or piece of paper. If we have -tuples, then we can use a perspective projection to render them on the plane. Higher-order tuples require a layout scheme to embed all dimensions in the plane. Various layout schemes are attempts to solve a graphic representation problem: how to transform a -dimensional vector space to a -dimensional space so that we can perceive structures in the higher dimensional space by examining the -dimensional space. We will discuss several approaches in this section.
One scheme is to employ a linear or nonlinear projection from p-dimensions to two. This may cause loss of information because a projection onto a subspace is many-to-one. Also, projection is most suitable for displaying points or graphs. It is less suitable for many geometric chart types such as bars and pies. Nevertheless, some 2D projections have been designed to capture structures contained in subspaces, such as manifolds, simplices, or clusters (). Other popular projection methods are principal components and multidimensional scaling ().
A second possibility is to map a set of points in one-to-one to a set of functions in . A particularly useful class of functions is formed by taking the first terms in a Fourier series as coefficients for (). Another useful class is the set of Chebysheff orthogonal polynomials. A popular class is the set of piecewise linear functions with as knots, often called parallel coordinates ([19,40]).
An advantage of function space representations is that there is no loss of information, since the set of all possible functions for each of these types in is infinite. Orthogonal functions (such as Fourier and Chebysheff) are useful because zero inner products are evidence of linear independence. Parallel coordinates are useful because it is relatively easy to decode values on particular variables. A disadvantage of functional representations is that manifolds, solids, and distances are difficult to discern.
A third possibility is recursive partitioning. We choose an interval and partition the first dimension of into a set of connected intervals of size , in the same manner as histogram binning. This yields a set of rectangular subspaces of . We then partition the second dimension of similarly. This second partition produces a set of rectangular subspaces within each of the previous subspaces. We continue choosing intervals and partitioning until we finish the last dimension. We then plot each subspace in an ordering that follows the ancestry of the partitioning. Recursive partitioning layout schemes have appeared in many guises: (), (), ().
There are several modifications we may make to this scheme. First, if a dimension is based on a categorical variable, then we assume , which assures one partition per category. Second, we need not partition a dimension into equal intervals; instead, we can make adaptive to the density of the data ([43, page 186]). Third, we can choose a variety of layouts for displaying the nodes of the partitioning tree. We can display the cells as an -ary tree, which is the method used by popular decision-tree programs. Or, we can alternate odd/even dimensions by plotting horizontally/vertically. This display produces a D nested table, which has been variously named a mosaic () or treemap (). We use this latter scheme for the figures in this article.
This rectangular partitioning resembles a 2D rectangular fractal generator. Like simple projection, this method can cause loss of information because aggregation occurs within cells. Nevertheless, it yields an interpretable 2D plot that is familiar to readers of tables.
Because recursive partitioning works with either continuous or categorical variables, there is no display distinction between a table and a chart. This equivalence between tables and graphs has been noted in other contexts ([34,30]). With recursive partitioning, we can display tables of charts and charts of tables.