/////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /////// demo.cxx ////// Nov 2018, Brian Clark ////// Demonstrate how to draw 2 TH2D's with two different color palettes (needs ROOT6) //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //C++ #include //ROOT Includes #include "TH2D.h" #include "TCanvas.h" #include "TStyle.h" #include "TExec.h" #include "TColor.h" #include "TPaletteAxis.h" #include "TRandom3.h" using namespace std; int main(int argc, char **argv) { gStyle->SetOptStat(0); TH2D *h1 = new TH2D("h1","h1",100,-10,10,100,-10,10); TH2D *h2 = new TH2D("h2","h2",100,-10,10,100,-10,10); TRandom3 *R = new TRandom3(time(0)); int count=0; while(count<10000000){ h1->Fill(R->Gaus(-4.,1.),R->Gaus(-4.,1.)); count++; } TRandom3 *R2 = new TRandom3(time(0)+100); count=0; while(count<10000000){ h2->Fill(R2->Gaus(4.,1.),R2->Gaus(4.,1.)); count++; } TCanvas *c = new TCanvas("c","c",1100,850); h1->Draw("colz"); TExec *ex1 = new TExec("ex1","gStyle->SetPalette(kValentine);"); ex1->Draw(); h1->Draw("colz same"); gPad->SetLogz(); gPad->Modified(); gPad->Update(); TPaletteAxis *palette1 = (TPaletteAxis*)h1->GetListOfFunctions()->FindObject("palette"); palette1->SetX1NDC(0.7); palette1->SetX2NDC(0.75); palette1->SetY1NDC(0.1); palette1->SetY2NDC(0.95); gPad->SetRightMargin(0.3); gPad->SetTopMargin(0.05); h2->Draw("same colz"); TExec *ex2 = new TExec("ex2","gStyle->SetPalette(kCopper);"); //TColor::InvertPalette(); ex2->Draw(); h2->Draw("same colz"); gPad->SetLogz(); gPad->Modified(); gPad->Update(); TPaletteAxis *palette2 = (TPaletteAxis*)h2->GetListOfFunctions()->FindObject("palette"); palette2->SetX1NDC(0.85); palette2->SetX2NDC(0.90); palette2->SetY1NDC(0.1); palette2->SetY2NDC(0.95); h1->SetTitle(""); h1->GetXaxis()->SetTitle("X-Value"); h1->GetYaxis()->SetTitle("Y-Value"); h1->GetZaxis()->SetTitle("First Histogram Events"); h2->GetZaxis()->SetTitle("Second Histogram Events"); h1->GetYaxis()->SetTitleSize(0.05); h1->GetXaxis()->SetTitleSize(0.05); h1->GetYaxis()->SetLabelSize(0.045); h1->GetXaxis()->SetLabelSize(0.045); h1->GetZaxis()->SetTitleSize(0.045); h2->GetZaxis()->SetTitleSize(0.045); h1->GetZaxis()->SetLabelSize(0.04); h2->GetZaxis()->SetLabelSize(0.04); h1->GetYaxis()->SetTitleOffset(1); h1->GetZaxis()->SetTitleOffset(1); h2->GetZaxis()->SetTitleOffset(1); c->SetLogz(); c->SaveAs("test.png"); }