This topic describes how to create a triangle plot. A triangle plot (also known as a ternary plot), is a graph of 3 variables. It is most often used in geologic studies to show the relative compositions of soils and rocks, but it can be more generally applied to any system of three variables.

The proportions of the three variables plotted always sum to some constant. In DPlot that constant is always the value 100, or 1.0, depending on the Triangle Plot options. Because the 3 values for any point always sum to a constant, any one variable is not independent of the others so only two variables must be known.

Each vertex of the triangle represents a 100% proportion of the variable to the left, and 0% of the variable to the right side of the vertex. As a proportion increases in any one variable, the point representing that sample moves from the base to the opposite point of the triangle. In DPlot the X values are used for the horizontal scale, Y values are used for the right side of the triangle, and Z values (left side of the triangle) are forced to 100-X-Y or to 1.0-X-Y.

If you already have an open plot that you would like to try this with, you are of course welcome to use it. Otherwise, open a new document window (select File>New>XY plot), return to this Help window and copy the table below (drag your mouse over the entire table including the headings, right-click and select Copy). Then select Edit>Paste in DPlot. Why only two columns, and not three? Again, the three components plotted on a triangle plot must sum to a fixed number. Therefore the third component is redundant. If you paste 3 columns into DPlot you will get two separate curves, each sharing X values from the first column.

Sand |
Clay |

54.5 |
15.6 |

39.4 |
18.8 |

79.0 |
19.8 |

91.2 |
0.6 |

15.4 |
66.8 |

23.5 |
9.9 |

39.6 |
52.7 |

32.6 |
34.3 |

88.3 |
10.5 |

31.0 |
53.8 |

51.9 |
5.5 |

76.5 |
8.9 |

65.7 |
17.1 |

70.6 |
4.0 |

93.9 |
2.0 |

42.3 |
10.4 |

77.4 |
16.8 |

70.0 |
0.6 |

72.1 |
8.9 |

After selecting Paste in DPlot you will initially get a jumbled mess on a standard linear X, linear Y scale:

Right-click within the box surrounding the plot and select “Triangle plot”. Alternatively, on the menu select Options>Linear/Log Scaling>Triangle plot.

You will likely notice that line segments between points have been turned off, and a symbol is drawn at each data point. Since triangle plots are generally used to plot discrete points rather than smooth curves, DPlot by default will always turn off line segments and, if no symbol is currently selected, turn on symbols. If this is not the behavior you desire (that is, you want line segments between data points), select Options>General and uncheck the Always force symbols on/lines off for triangle plots box. Whether this box is checked or not, you can always modify the line type and/or symbol type by right-clicking on a point and selecting Line style and/or Symbol style. Alternatively you can use Options>Symbol/Line Styles or click the Line/Symbol Styles button.

Line/Symbol Styles button

In our example the Sand and Clay labels from our table are used for the X and Y axis labels. To add a label for the third axis, select Text>Title/Axes and enter the desired label in the Z Axis box. You can also bring up this dialog by double-clicking on any existing axis label.

If you want to change the tick mark interval, right-click on any of the numbers along each axis and select Extents/Intervals/Size. Select the Specify interval option, and enter the desired interval in the Tick mark interval box.

Special Purpose Plots

DPlot includes several special purpose triangle plot types, accessible by right-clicking on the plot and selecting Triangle Plot Options. Currently DPlot will draw region boundaries and labels for:

Plot type |
X |
Y |
Z |

USDA Soil Classifications |
Sand |
Clay |
Silt |

IUGS Mafic Rock |
Olivine |
Plagioclase |
Clinopyroxene |

IUGS Ultramafic Rock |
Clinopyroxene |
Olivine |
Othopyroxene |

Ab-An-Or Mineral Classification |
Orthoclase |
Anorthite |
Albite |

If you would like to use one of these options but your data is not arranged in the proper order, you can perform an operation on the data to swap components. For example if your soil data has X=sand, Y=silt, use Y=100-(X+Y) with the Operate on Y command on the Edit menu.