RandomAccess;
NoDataFileVariableNames;
ReDim xvar1(NVars),yvar1(NVars),zvar1(NVars);
ReDim xvar2(NVars),yvar2(NVars),zvar2(NVars);
ReDim labelvar(NVars);
ReDim xpts1(NCases),ypts1(NCases),zpts1(NCases);
ReDim xpts2(NCases),ypts2(NCases),zpts2(NCases);
ReDim labelval(NCases);
SelectVariables3 ('First XYZ-Plot: Select variables', 1, 1, xvar1, count1, 'X', 1, 1,
yvar1,count2, 'Y',1, 1, zvar1, count3, 'Z');
if ((count1=0) or (count2=0) or (count3=0)) then abort; { skip if no variables were
selected }
idxx:=xvar1(1); idxy:=yvar1(1); idxz:=zvar1(1);
selenabled:=SelectionConditionsGet (incl, selstr$);
idx:=1;
for i:=1 to NCases do
begin
if (selenabled=0) then sel:=1 else sel:=(SelectionConditions (i)=1);
if (sel=1) then
begin
xpts1(idx):=Data(i,idxx);
ypts1(idx):=Data(i,idxy);
zpts1(idx):=Data(i,idxz);
idx:=idx+1;
end;
end;
SelectVariables3 ('Second XYZ-Plot: Select variables', 1, 1, xvar2, count1, 'X', 1, 1,
yvar2,count2, 'Y',1, 1, zvar2, count3, 'Z');
if ((count1=0) or (count2=0) or (count3=0)) then abort; { skip if no variables were
selected }
idxx:=xvar2(1); idxy:=yvar2(1); idxz:=zvar2(1);
SelectVariables1 ('Select variable which determines order of labels', 1, 1, labelvar,
labelcnt, 'Label variable');
if (labelcnt=0) then abort;
idxl:=labelvar(1);
idx:=1;
for i:=1 to NCases do
begin
if (selenabled=0) then sel:=1 else sel:=(SelectionConditions (i)=1);
if (sel=1) then
begin
xpts2(idx):=Data(i,idxx);
ypts2(idx):=Data(i,idxy);
zpts2(idx):=Data(i,idxz);
labelval(idx):=Data(i,idxl);
idx:=idx+1;
end;
end;
if (idx=0) then abort;
If (idx>0) then idx:=idx-1;
ReDim labelsort(idx),labelnum(idx);
for i:=1 to idx do
begin
labelsort(i):=labelval(i);
labelnum(i):=i;
end;
VectorDualSort(labelsort,labelnum,SORT_ASCENDING);
handle1:=NewGraphXYZ (SCATTERPLOTXYZ, 'Subplot1:'+selstr$, VarName(xvar1(1)),
VarName(yvar1(1)), VarName(zvar1(1)),idx, xpts1, ypts1, zpts1);
for i:=1 to idx do
begin
GraphSetDataPointLabel (handle1, 1, labelnum(i), str(i,3,0));
end;
handle2:=NewGraphXYZ (SCATTERPLOTXYZ, 'Subplot2:'+selstr$, VarName(xvar2(1)),
VarName(yvar2(1)), VarName(zvar2(1)),idx, xpts2, ypts2, zpts2);
for i:=1 to idx do
begin
GraphSetDataPointLabel (handle2, 1, i, str(i,3,0));
end;
| Back to List of Programs |
![[StatSoft]](../../../images/sssmall.gif)
2300 East 14th Street, Tulsa, OK 74104
Phone: (918) 749-1119; Fax: (918) 749-2217
e-mail: info@statsoft.com
©Copyright StatSoft, Inc., 1984-2004.
StatSoft, StatSoft logo, STATISTICA, SEWSS, SEDAS, Data Miner, SEPATH and GTrees are trademarks of StatSoft, Inc.