/**********************************************************************/
proc means data=&inds noprint max;
var &vvar; /* number of otters */
output out=picsize(keep=nbars vmax)
max=vmax /* maximum number of otters - width */
n=nbars; /* number of manuf. plants - height */
run;
/**********************************************************************/
if _n_=1 then do;
/* initialization code */
end;
/**********************************************************************/
rc=ginit();
rc=graph('clear');
set picsize;
/**********************************************************************/
rc=gset('colrep', 1, 'gray10'); /* symbol color */
rc=gset('colrep', 2, 'gray30'); /* symbol color */
rc=gset('colrep', 3, 'gray50'); /* symbol color */
rc=gset('colrep', 4, 'gray70'); /* symbol color */
rc=gset('colrep', 5, 'gray90'); /* symbol color */
rc=gset('colrep', 6, 'grayb0'); /* symbol color */
rc=gset('colrep', 7, 'grayd0'); /* symbol color */
rc=gset('colrep', 8, 'black'); /* for text/line color */
/**********************************************************************/
call gask('window', 0, x1, y1, x2, y2, rc);
xrange=x2-x1; /* width of graph area in window units */
yrange=y2-y1; /* height of graph area in window units */
/**********************************************************************/
xlabel = .23*xrange; /* x-coordinate for plant labels */
xmin = .25*xrange; /* minimum \ob x\obe dimension of the pict. */
xmax = .95*xrange; /* maximum \ob x\obe dimension of the pict. */
yaxmin = .15*yrange; /* minimum \ob y\obe dimension of the pict. */
yaxmax = .95*yrange; /* maximum \ob y\obe dimension of the pict. */
/**********************************************************************/
yaxlen=yaxmax-yaxmin; /* y-axis length */
ywidth=floor(yaxlen/(nbars+1)); /* symbol height */
ymargn=(yaxlen-(ywidth*nbars))/(nbars-1);
/* room between rows */
/**********************************************************************/
vmin=0; /* Include 0 in the data range. */
vmax=(floor(vmax/10)+1)*10; /* Adjust the max. value to add space */
/* at the end of pict. area. */
/**********************************************************************/
vscale=(xmax-xmin)/(vmax-vmin);
/**********************************************************************/
array pmx {18} px1-px18;
/**********************************************************************/
incr=(xmax-xmin)/dim(pmx);
/**********************************************************************/
do i=1 to dim(pmx);
pmx{i}=xmin+incr/2+((i-1)*incr);
end;
/**********************************************************************/
symvalue=(vmax-vmin)/dim(pmx);
/**********************************************************************/
rc=gdraw('text', .5*xrange, .13*yrange,
'1 symbol = ' || left(put(symvalue, 6.2)) ||
%str(&units));
/**********************************************************************/
rc=gset('window', 1, 0, 0, 100, 100);
rc=gset('transno', 1);
/**********************************************************************/
rc=gset('viewport', 1, xmin/xrange, ybar/yrange,
xval/xrange, ystart/yrange);
rc=gset('window', 1, xmin, ybar, xval, ystart);
rc=gset('transno', 1);
rc=gset('clip', 'on');
/**********************************************************************/
do i=1 to dim(pmx);
rc=gdraw('text', pmx{i}, pmy, 'V');
end;
rc=gset('clip', 'off');
rc=gset('transno', 0); /* Return to the default window. */
/**********************************************************************/
rc=gset('texcolor', mod(_n_, ncolors) + 1);
/**********************************************************************/