20 Double_t r1,r2,r3,r4,r5,r6,r7,r8,r9;
24 void generate_random(Int_t i) {
25 r1 = (2*dr*r->Rndm(i))-dr;
26 r2 = (2*dr*r->Rndm(i))-dr;
27 r7 = (2*dr*r->Rndm(i))-dr;
28 r9 = (2*dr*r->Rndm(i))-dr;
29 r4 = (2*dr*r->Rndm(i))-dr;
30 r3 = (2*dr*r->Rndm(i))-dr;
31 r5 = (2*dr*r->Rndm(i))-dr;
32 r6 = (2*dr*r->Rndm(i))-dr;
33 r8 = (2*dr*r->Rndm(i))-dr;
36 void parallelcoord() {
40 Double_t s1x, s1y, s1z;
41 Double_t s2x, s2y, s2z;
42 Double_t s3x, s3y, s3z;
45 new TCanvas(
"c1",
"c1",0,0,800,700);
47 nt =
new TNtuple(
"nt",
"Demo ntuple",
"x:y:z:u:v:w");
49 for (Int_t i=0; i<20000; i++) {
50 r->Sphere(s1x, s1y, s1z, 0.1);
51 r->Sphere(s2x, s2y, s2z, 0.2);
52 r->Sphere(s3x, s3y, s3z, 0.05);
55 nt->Fill(r1, r2, r3, r4, r5, r6);
58 nt->Fill(s1x, s1y, s1z, s2x, s2y, s2z);
61 nt->Fill(r1, r2, r3, r4, r5, r6);
64 nt->Fill(s2x-1, s2y-1, s2z, s1x+.5, s1y+.5, s1z+.5);
67 nt->Fill(r1, r2, r3, r4, r5, r6);
70 nt->Fill(s1x+1, s1y+1, s1z+1, s3x-2, s3y-2, s3z-2);
73 nt->Fill(r1, r2, r3, r4, r5, r6);
75 nt->Draw(
"x:y:z:u:v:w",
"",
"para",5000);
76 TParallelCoord* para = (TParallelCoord*)gPad->GetListOfPrimitives()->FindObject(
"ParaCoord");
77 para->SetDotsSpacing(5);
78 TParallelCoordVar* firstaxis = (TParallelCoordVar*)para->GetVarList()->FindObject(
"x");
79 firstaxis->AddRange(
new TParallelCoordRange(firstaxis,0.846018,1.158469));
80 para->AddSelection(
"violet");
81 para->GetCurrentSelection()->SetLineColor(kViolet);
82 firstaxis->AddRange(
new TParallelCoordRange(firstaxis,-0.169447,0.169042));
83 para->AddSelection(
"Orange");
84 para->GetCurrentSelection()->SetLineColor(kOrange+9);
85 firstaxis->AddRange(
new TParallelCoordRange(firstaxis,-1.263024,-0.755292));