Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
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");
firstaxis->AddRange(new TParallelCoordRange(firstaxis,-0.169447,0.169042));
para->AddSelection("Orange");
firstaxis->AddRange(new TParallelCoordRange(firstaxis,-1.263024,-0.755292));
}
ROOT::R::TRInterface & r
Definition Object.C:4
int Int_t
Definition RtypesCore.h:45
double Double_t
Definition RtypesCore.h:59
@ kOrange
Definition Rtypes.h:67
@ kViolet
Definition Rtypes.h:67
#define gPad
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition TAttLine.h:40
The Canvas class.
Definition TCanvas.h:23
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
Definition TList.cxx:578
A simple TTree restricted to a list of float variables only.
Definition TNtuple.h:28
virtual Int_t Fill()
Fill a Ntuple with current values in fArgs.
Definition TNtuple.cxx:169
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
Definition TObject.cxx:393
A TParallelCoordRange is a range used for parallel coordinates plots.
TParallelCoord axes.
void AddRange(TParallelCoordRange *range)
Add a range to the current selection on the axis.
Parallel Coordinates class.
void AddSelection(const char *title)
Add a selection.
TParallelCoordSelect * GetCurrentSelection()
Return the selection currently being edited.
TList * GetVarList()
void SetDotsSpacing(Int_t s=0)
Set dots spacing.
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
virtual void Draw(Option_t *opt)
Default Draw method for all objects.
Definition TTree.h:428
Author
Bastien Dallapiazza

Definition in file parallelcoord.C.