JMP is used to analyze and visualize data with a wide variety of types and relationships. The term mixture is used to describe a collection of variables that sum to a constant value. Mixtures may be observed in gases, liquids or solids, or they may be used as part of a design when optimizing a product for effectiveness, cost, or other features. While components of a mixture can be plotted using any graph platform in JMP, the Ternary Plot uses the special relationship between three components of a mixture to display three axes in a 2D graph without loss of information. Figure 1 illustrates the JMP Ternary Plot. Due to the relationship between the components, the domain is bounded by the limits [0,sum] for each of the three axes. The shaded region represents constraints on the range of values for each of the components. Ternary plots are also used in the Mixture Profiler, which allows you to explore higher-dimensional mixtures by choosing three components and displaying a slice of the full domain.
In previous versions of JMP, ternary frames did not support all of the features of a rectangular frame, or in some cases the interactions or behaviors were more like a rectangular frame. One of the goals of JMP 12 was to make the ternary frame behave more like other graphs in JMP, as described below.
Figure 2: Result after performing a zoom with the magnifier tool
JMP supports a variety of tools for interacting with the contents of a display frame. Some tools are aware of the ternary data and change behavior to match. The most notable exception in previous versions of JMP is the magnifier tool, which used a rectangular zoom region and resulted in a view of a triangle clipped by a rectangle. In JMP 12, the magnification region is a triangle, and the view always retains a triangular shape, as shown in Figure 2.
The hand tool performs translation in the graph, and in previous releases would allow you to translate the entire ternary triangle out of view. With JMP 12, the ternary frame is constant in size and location -- only the axes are changed when performing a translation. The fixed component bounds of [0,sum] are enforced during interactive translation.
In addition to tool manipulation within a rectangular frame, axes of graphs also support direct interaction. In JMP 12, these actions are also supported for ternary frames:
Double-click on an axis to bring up the axis property dialog
Major and minor gridlines
Click in the middle of the axis to translate the axis
Click toward the extremes of the axis to zoom in or out
The relationships between the ternary variables is reflected in these transformations. Translating or zooming on one axis will necessarily affect at least one of the other axes. As with tool manipulation, the bounded extents [0,sum] of each axis are also enforced to maintain valid coordinate ranges within the ternary frame.
Figure 3: USDA Soil Classification Taxonomy
The improved support for ternary frames is not only on the surface. In JMP 12, ternary plots are drawn directly from the ternary representation rather than transforming into a rectangular coordinate frame for drawing. This means that it is much easier to support additional geometry and custom geometry within the ternary frame. In addition to the built-in features such as reference lines, you can add custom geometry to a ternary frame in the same way that you would with a rectangular frame. Due to the relationship between the ternary components, it is only necessary to specify the first two coordinates when drawing to a ternary frame. Figure 3 illustrates a case where text, lines, and polygons are added to a ternary frame to show the USDA Soil classification regions.
In a future blog post, I will provide a more detailed look into the changes for ternary frames. Please share in the comments to let me know how you use mixtures with JMP.