Color Graphics Macro

Goodmorning, i’m just starting to use root…i need a macro to paint 2D graphics by a color gradient, like this macro:

{ TCanvas *c1 = new TCanvas("c1","c1",600,600); c1->Divide(1,2); TH2F *hcol23 = new TH2F("hcol2","Option COLZ example ",40,-4,4,40,-20,20); TH2F *hcol24 = new TH2F("hcol2","Option COLZ1 example ",40,-4,4,40,-20,20); Float_t px, py; for (Int_t i = 0; i < 25000; i++) { gRandom->Rannor(px,py); hcol23->Fill(px,5*py); hcol24->Fill(px,5*py); } hcol23->Fill(0.,0.,-200.); hcol24->Fill(0.,0.,-200.); gStyle->SetPalette(kBird); c1->cd(1); hcol23->Draw("COLZ"); c1->cd(2); hcol24->Draw("COLZ1"); return c1; }

But in my case, the macro must not generate the numbers, but it must open a data file, can somebody help me to write it please?

Your “data file” is what?

Hi pepe and thanks! i mean to open a file with 2 culomns, in first culomn there are x-coordinates and in second culomn y-coordinates.

Something like this:

x	y
1	2
2	4
3	6
4	8

[code]{
TGraph *g1 = new TGraph(“file_1.txt”);
TGraph *g2 = new TGraph(“file_2.txt”);

TCanvas *c = new TCanvas(“c”,“c”);
c->Divide(1, 2);
c->cd(1); g1->Draw(“ALP”);
c->cd(2); g2->Draw(“ALP”);
c->cd(0);
}[/code]

Hi pepe, thanks…but…maybe this is not the kind of graphic that i want…i want a color graph like this:

I tried to combine your code with other codes, and i wrote this:

   
   
   TH2F *hcol23 = new TH2F("hcol2","Option COLZ example ",40,-4,4,40,-20,20);
   TH2F *hcol24 = new TH2F("hcol2","Option COLZ1 example ",40,-4,4,40,-20,20);
   TGraph *c1 = new TGraph("file_1.txt");
  TGraph *c2 = new TGraph("file_2.txt");
    TCanvas *c = new TCanvas("c","c");
   hcol23->Fill(0.,0.,-200.);
   hcol24->Fill(0.,0.,-200.);
   gStyle->SetPalette(52);
   hcol23->Draw("COLZ");
    hcol24->Draw("COLZ1");
   return c1;
}

but this is the result:


…it doen’t paint all the point of the file!

[code]{
TTree *t1 = new TTree(“t1”, “tree 1”);
t1->ReadFile(“file_1.txt”, “x/D:y”);

TTree *t2 = new TTree(“t2”, “tree 2”);
t2->ReadFile(“file_2.txt”, “x/D:y”);

TCanvas *c = new TCanvas(“c”,“c”);
c->Divide(1, 2);
c->cd(1); t1->Draw(“y:x”, “”, “COLZ”);
c->cd(2); t2->Draw(“y:x”, “”, “COLZ”);
c->cd(0);
}[/code]

Thank you! other question please…if i wanna open a corsika file, can i just change the name of the data file, or do i need other macro?

you’ll need to talk to corsikans.

Ok thank you! now i’m just making some prof…next days i will start to use root for graduation thesis, i hope you will help me in the future too

ROOT primer
ROOT documentation

Thanks for your help pepe