Logo ROOT  
Reference Guide
parallelcoord.C File Reference

Detailed Description

View in nbviewer Open in SWAN Script illustrating the use of the TParalleCoord class

#include "TFile.h"
#include "TCanvas.h"
#include "TStyle.h"
#include "TRandom.h"
#include "TNtuple.h"
#include "TParallelCoord.h"
Double_t r1,r2,r3,r4,r5,r6,r7,r8,r9;
Double_t dr = 3.5;
void generate_random(Int_t i) {
r1 = (2*dr*r->Rndm(i))-dr;
r2 = (2*dr*r->Rndm(i))-dr;
r7 = (2*dr*r->Rndm(i))-dr;
r9 = (2*dr*r->Rndm(i))-dr;
r4 = (2*dr*r->Rndm(i))-dr;
r3 = (2*dr*r->Rndm(i))-dr;
r5 = (2*dr*r->Rndm(i))-dr;
r6 = (2*dr*r->Rndm(i))-dr;
r8 = (2*dr*r->Rndm(i))-dr;
}
void parallelcoord() {
TNtuple *nt = NULL;
Double_t s1x, s1y, s1z;
Double_t s2x, s2y, s2z;
Double_t s3x, s3y, s3z;
r = new TRandom();;
new TCanvas("c1", "c1",0,0,800,700);
nt = new TNtuple("nt","Demo ntuple","x:y:z:u:v:w");
for (Int_t i=0; i<20000; i++) {
r->Sphere(s1x, s1y, s1z, 0.1);
r->Sphere(s2x, s2y, s2z, 0.2);
r->Sphere(s3x, s3y, s3z, 0.05);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6);
generate_random(i);
nt->Fill(s1x, s1y, s1z, s2x, s2y, s2z);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6);
generate_random(i);
nt->Fill(s2x-1, s2y-1, s2z, s1x+.5, s1y+.5, s1z+.5);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6);
generate_random(i);
nt->Fill(s1x+1, s1y+1, s1z+1, s3x-2, s3y-2, s3z-2);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6);
}
nt->Draw("x:y:z:u:v:w","","para",5000);
TParallelCoord* para = (TParallelCoord*)gPad->GetListOfPrimitives()->FindObject("ParaCoord");
para->SetDotsSpacing(5);
firstaxis->AddRange(new TParallelCoordRange(firstaxis,0.846018,1.158469));
para->AddSelection("violet");
para->GetCurrentSelection()->SetLineColor(kViolet);
firstaxis->AddRange(new TParallelCoordRange(firstaxis,-0.169447,0.169042));
para->AddSelection("Orange");
para->GetCurrentSelection()->SetLineColor(kOrange+9);
firstaxis->AddRange(new TParallelCoordRange(firstaxis,-1.263024,-0.755292));
}
Author
Bastien Dallapiazza

Definition in file parallelcoord.C.

TParallelCoordVar
Definition: TParallelCoordVar.h:24
TParallelCoordVar::AddRange
void AddRange(TParallelCoordRange *range)
Add a range to the current selection on the axis.
Definition: TParallelCoordVar.cxx:102
TNtuple
Definition: TNtuple.h:28
TList::FindObject
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
Definition: TList.cxx:577
r
ROOT::R::TRInterface & r
Definition: Object.C:4
kViolet
@ kViolet
Definition: Rtypes.h:67
TParallelCoord::GetVarList
TList * GetVarList()
Definition: TParallelCoord.h:102
TRandom.h
TParallelCoordVar.h
TStyle.h
TParallelCoord
Definition: TParallelCoord.h:28
Int_t
int Int_t
Definition: RtypesCore.h:45
kOrange
@ kOrange
Definition: Rtypes.h:67
TCanvas.h
TFile.h
TNtuple.h
TParallelCoord::GetCurrentSelection
TParallelCoordSelect * GetCurrentSelection()
Return the selection currently being edited.
Definition: TParallelCoord.cxx:438
TParallelCoordRange.h
TRandom
Definition: TRandom.h:27
TParallelCoord.h
TTree::Draw
virtual void Draw(Option_t *opt)
Default Draw method for all objects.
Definition: TTree.h:427
TParallelCoord::SetDotsSpacing
void SetDotsSpacing(Int_t s=0)
Set dots spacing.
Definition: TParallelCoord.cxx:1114
TParallelCoordRange
Definition: TParallelCoordRange.h:25
Double_t
double Double_t
Definition: RtypesCore.h:59
TCanvas
Definition: TCanvas.h:23
gPad
#define gPad
Definition: TVirtualPad.h:287
TParallelCoord::AddSelection
void AddSelection(const char *title)
Add a selection.
Definition: TParallelCoord.cxx:242
TNtuple::Fill
virtual Int_t Fill()
Fill a Ntuple with current values in fArgs.
Definition: TNtuple.cxx:169