Graphical methodsLinear modelsCategorical dataStructural equation modelsUtility macrosMy Books
Univariate displays
Bivariate displays
Multivariate displays
Cluster analysis
Maps
boxplot
density
dotplot
nqplot
splot
symbox
symplot
contour
ellipses
lowess
miplot
resline
sparkline
sunplot
surface
biplot
canplot
coplot
corrgram
cqplot
faces
genscat
hecan
hemat
hemreg
heplot
heplots
mpower
outlier
robcov
scatmat
scatter
stars
gtree
ccmap
map2gen
ANOVA
Regression
Multivariate
Transformations
Power
alleff
effplot
hovplot
meanplot
orpoly
poly
twoway
cpplot
effplot
partial
inflplot
robust
rsqdelta
hecan
hemat
hemreg
heplot
heplots
boxcox
boxglm
boxtid
sprdplot
fpower
mpower
power
rpower
Discrete distributions
Two-way tables
Mosaic displays
Generalized linear models
distplot
goodfit
ordplot
poisplot
rootgram
agree
agreeplot
corresp
ffold
fourfold
power2x2
powerrxc
sieve
sieveplot
missrc
genscat
mosaic
mosaics
mosmat
addvar
catplot
effplot
halfnorm
inflglim
inflogis
logodds
powerlog
robust
caliscmp
calisgfi
csmpower
eqs2ram
ram2dot
str2ram
Data utility
Graphics utility
Macro utility
Color
combine
combos
dummy
expgrid
interact
jitter
lags
map2gen
multisummary
mvnormal
sas2vsta
scale
slice
sort
stat2dat
table
axis
bars
boxanno
boxaxis
equate
gask
gbank
gdispla
genpat
gensym
gkill
gskip
inset
label
labels
lines
panels
points
polygons
pscale
regline
rug
expglm
defined
lastword
vexpand
words
bpycolors
brewerpal
colochrt
colorramp
SAS System for Statistical Graphics
Visualizing Categorical Data
Visual Statistics
triplot Macro for trilinear plots triplot

Visualizing Categorical Data: triplot

$Version: 1.2 (7 Apr 1998)
Michael Friendly
York University

The triplot macro ( [download] get triplot.sas)

Macro for trilinear plots

The TRIPLOT macro plots three variables (rows of an n x 3 table) in an equilateral triangle, so that each point represents the proportions of each variable to the total for that observation.

Usage

The TRIPLOT macro is called with keyword parameters. The names of three variables must be given in the VAR= parameter. The arguments may be listed within parentheses in any order, separated by commas. For example:
  data tridemo;
     input A B C point $12.;
     label point='Point';
  cards;
  40 30 30  (40,30,30)
  20 60 20  (20,60,20)
  10 10 80  (10,10,80)
  ;
  %triplot(var=A B C, class=Point, id=point, gridby=25,
     symbols=dot dot dot, idht=1.6, axes=bot,
     symht=4, gridclr=gray);

Parameters

DATA=
The name of data set to be plotted. [Default: DATA=_LAST_]
VAR=
The names of three variables used as the axes in the plot. The values of each observation are normally all non-negative. Missing values are treated as 0.
CLASS=
The name of a class variable determining plotting symbol. Different values of the CLASS= variable are represented by the values in the COLORS= and SYMBOLS= lists, used sequentially.
ID=
The name of an observation identifier (label) variable
BY=
The name of a BY variable, for separate plots
WHERE=
WHERE-clause to subset observations to be plotted.
IDHT=
Height of ID label [Default: IDHT=2]
IDCLR=
Color of ID label [Default: IDCLR='BLACK']
IDPOS=
Position of ID label [Default: IDPOS=8]
IDSUBSET=
A SAS expression (which may use any data set variables used to subset ID labels. If an ID= variable is given, and the IDSUBSET= expression evaluates to non-zero, the observation is labelled in the plot. [Default: IDSUBSET=1]
INTERP=
Interpolation between points, a SYMBOL statement option. If INTERP=JOIN, points within the same CLASS= value are connected by lines. Most other SYMBOL statement interpolation options would give bizare results. [Default: INTERP=NONE]
SYMHT=
Height of point symbols [Default: SYMHT=2]
SYMBOLS=
A list of one or more symbols for points, corresponding to the levels of the CLASS= variable. The symbols are reused cyclically if there are more class levels than symbols. [Default: SYMBOLS=%STR(DOT CIRCLE SQUARE $ : TRIANGLE = X _ Y)]
COLORS=
A list of one or more colors for points, corresponding to the levels of the CLASS= variable. The colors are also reused cyclically as required. [Default: COLORS=BLACK RED BLUE GREEN BROWN ORANGE PURPLE YELLOW]
BACKCLR=
Background color inside the trilinear plot. [Default: BACKCLR=WHITE]
BACKPAT=
Background fill pattern. For a plot with a light gray background, for example, specify BACKPAT=SOLID and BACKCLR=GRAYD0. [Default: BACKPAT=EMPTY]
GRIDBY=
Grid line interval. For grid lines at 25, 50, and 75%, for example, specify GRIDBY=25. [Default: GRIDBY=20]
GRIDCLR=
Grid line color [Default: GRIDCLR=GRAY]
GRIDLINE=
Style of grid lines [Default: GRIDLINE=34]
AXES=
Type of axes, one of NONE, FULL, TOP, or BOT. AXES=NONE draws no coordinate axes; AXES=FULL draws a line from 0 to 100% for each of the three coordinates; AXES=TOP draws a line from the apex to the centroid only; AXES=BOT draws a line from the centroid to the base only. [Default: AXES=NONE]
AXISCLR=
Color of axis lines [Default: AXISCLR=BLUE]
AXISLINE=
Style of axis lines [Default: AXISLINE=1]
XOFF=
X offset, in %, for adjusting the plot [Default: XOFF=2]
XSCALE=
X scale factor for adjusting the plot. Before plotting the X coordinates are adjusted by X = XOFF + XSCALE * X. [Default: XSCALE=.96]
YOFF=
X offset, in %, for adjusting the plot [Default: YOFF=2]
YSCALE=
Y scale factor for adjusting the plot. Before plotting the Y coordinates are adjusted by Y = YOFF + YSCALE * Y. [Default: YSCALE=.96]
LEGEND=
The name of legend statement or 'NONE'. If LEGEND= is not specified, and there is more than one group defined by a CLASS= variable, a legend statement is constructed internally. If LEGEND=NONE, no legend is drawn; otherwise the LEGEND= value is used as the name of a legend statement.
LABHT=
Height of variable labels, in GUNITs [Default: LABHT=2]
LABLOC=
Location of variable label: 0 or 100 [Default: LABLOC=100]
NAME=
Name of the graphics catalog entry [Default: NAME=TRIPLT]

Example

%include vcd(triplot);        *-- or include in an autocall library;

data tripdemo;
	input anger fear sadness nam $;
	label anger='Anger' fear='Fear' sadness='Sadness';
cards;
20 20 20  Alf
80 10 10  Betty
25 25 50  Chas
90  5  5  Dick
 0  0 60  Ed
5  25  5  Alf
20 60 20  Betty
25 25 50  Chas
5  90  5  Dick
;
%triplot(var=anger fear sadness, class=nam, id=nam, gridby=10);

See also


[Previous] [Next] [Up] [Contents] [Search]
Previous: table Next: Appendix B Up: Appendix A Top: index.html