ROOT logo

From $ROOTSYS/tutorials/graphs/multipalette.C

//Draw color plots using different color palettes.
//Author:: Olivier Couet

#include "TStyle.h"
#include "TColor.h"
#include "TF2.h"
#include "TExec.h"
#include "TCanvas.h"

   
void Pal1()
{
   static Int_t  colors[50];
   static Bool_t initialized = kFALSE;

   Double_t Red[3]    = { 1.00, 0.00, 0.00};
   Double_t Green[3]  = { 0.00, 1.00, 0.00};
   Double_t Blue[3]   = { 1.00, 0.00, 1.00};
   Double_t Length[3] = { 0.00, 0.50, 1.00 };

   if(!initialized){
      Int_t FI = TColor::CreateGradientColorTable(3,Length,Red,Green,Blue,50);
      for (int i=0; i<50; i++) colors[i] = FI+i;
      initialized = kTRUE;
      return;
   }
   gStyle->SetPalette(50,colors);
}

void Pal2()
{
   static Int_t  colors[50];
   static Bool_t initialized = kFALSE;

   Double_t Red[3]    = { 1.00, 0.50, 0.00};
   Double_t Green[3]  = { 0.50, 0.00, 1.00};
   Double_t Blue[3]   = { 1.00, 0.00, 0.50};
   Double_t Length[3] = { 0.00, 0.50, 1.00 };

   if(!initialized){
      Int_t FI = TColor::CreateGradientColorTable(3,Length,Red,Green,Blue,50);
      for (int i=0; i<50; i++) colors[i] = FI+i;
      initialized = kTRUE;
      return;
   }
   gStyle->SetPalette(50,colors);
}

TCanvas* multipalette() {
   TCanvas *c3  = new TCanvas("c3","C3",0,0,600,400);
   c3->Divide(2,1);
   TF2 *f3 = new TF2("f3","0.1+(1-(x-2)*(x-2))*(1-(y-2)*(y-2))",1,3,1,3);
   f3->SetLineWidth(1);
   f3->SetLineColor(kBlack);

   c3->cd(1);
   f3->Draw("surf1"); 
   TExec *ex1 = new TExec("ex1","Pal1();");
   ex1->Draw();
   f3->Draw("surf1 same"); 

   c3->cd(2);
   f3->Draw("surf1"); 
   TExec *ex2 = new TExec("ex2","Pal2();");
   ex2->Draw();
   f3->Draw("surf1 same"); 

   return c3;
}
 multipalette.C:1
 multipalette.C:2
 multipalette.C:3
 multipalette.C:4
 multipalette.C:5
 multipalette.C:6
 multipalette.C:7
 multipalette.C:8
 multipalette.C:9
 multipalette.C:10
 multipalette.C:11
 multipalette.C:12
 multipalette.C:13
 multipalette.C:14
 multipalette.C:15
 multipalette.C:16
 multipalette.C:17
 multipalette.C:18
 multipalette.C:19
 multipalette.C:20
 multipalette.C:21
 multipalette.C:22
 multipalette.C:23
 multipalette.C:24
 multipalette.C:25
 multipalette.C:26
 multipalette.C:27
 multipalette.C:28
 multipalette.C:29
 multipalette.C:30
 multipalette.C:31
 multipalette.C:32
 multipalette.C:33
 multipalette.C:34
 multipalette.C:35
 multipalette.C:36
 multipalette.C:37
 multipalette.C:38
 multipalette.C:39
 multipalette.C:40
 multipalette.C:41
 multipalette.C:42
 multipalette.C:43
 multipalette.C:44
 multipalette.C:45
 multipalette.C:46
 multipalette.C:47
 multipalette.C:48
 multipalette.C:49
 multipalette.C:50
 multipalette.C:51
 multipalette.C:52
 multipalette.C:53
 multipalette.C:54
 multipalette.C:55
 multipalette.C:56
 multipalette.C:57
 multipalette.C:58
 multipalette.C:59
 multipalette.C:60
 multipalette.C:61
 multipalette.C:62
 multipalette.C:63
 multipalette.C:64
 multipalette.C:65
 multipalette.C:66
 multipalette.C:67
 multipalette.C:68
 multipalette.C:69
 multipalette.C:70