It displays the same data set twice. The first time without transparency and the second time with transparency. On the second plot, several clusters appear.
Double_t r1, r2, r3, r4, r5, r6, r7, r8, r9;
void generate_random(
Int_t i)
{
r2 = (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 tree142_parallelcoordtrans()
{
auto c1 =
new TCanvas(
"c1",
"c1", 0, 0, 900, 1000);
auto nt =
new TNtuple(
"nt",
"Demo ntuple",
"x:y:z:u:v:w:a:b:c");
for (
Int_t i = 0; i < 1500; 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, r7, r8, r9);
generate_random(i);
nt->Fill(s1x, s1y, s1z, s2x, s2y, s2z, r7, r8, r9);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6, r7, s3y, r9);
generate_random(i);
nt->Fill(s2x - 1, s2y - 1, s2z, s1x + .5, s1y + .5, s1z + .5, r7, r8, r9);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6, r7, r8, r9);
generate_random(i);
nt->Fill(s1x + 1, s1y + 1, s1z + 1, s3x - 2, s3y - 2, s3z - 2, r7, r8, r9);
generate_random(i);
nt->Fill(r1, r2, r3, r4, r5, r6, s3x, r8, s3z );
}
nt->Draw("x:y:z:u:v:w:a:b:c", "", "para");
nt->Draw("x:y:z:u:v:w:a:b:c", "", "para");
c1->Print(
"parallelcoordtrans.pdf");
c1->Print(
"parallelcoordtrans.svg");
c1->Print(
"parallelcoordtrans.jpg");
c1->Print(
"parallelcoordtrans.png");
}
int Int_t
Signed integer 4 bytes (int).
double Double_t
Double 8 bytes.
virtual void SetAlpha(Float_t a)
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
A simple TTree restricted to a list of float variables only.
void SetHistogramHeight(Double_t h=0)
Set the height of the bar histogram.
Parallel Coordinates class.
void SetLineColor(Color_t col)
This is the base class for the ROOT Random number generators.