Color option for TH2F->Draw

From: Jayoung Wu (jayoung@glue.umd.edu)
Date: Mon Nov 10 1997 - 20:02:05 MET


{
// start program
  Text_t label[40];
  sprintf(label,"crystal bar energy distribution");


  Float_t sum[10]={0.};
  Axis_t ax,ay;
  TH2F *h2;
  layer1  = new TH2F("layer1",label,20,0,20,2,0,2);
  layer2  = new TH2F("layer2",label,20,0,20,2,0,2);
  layer3  = new TH2F("layer3",label,20,0,20,2,0,2);
  layer4  = new TH2F("layer4",label,20,0,20,2,0,2);
  layer5  = new TH2F("layer5",label,20,0,20,2,0,2);
  layer6  = new TH2F("layer6",label,20,0,20,2,0,2);
  layer7  = new TH2F("layer7",label,20,0,20,2,0,2);
  layer8  = new TH2F("layer8",label,20,0,20,2,0,2);
  layer9  = new TH2F("layer9",label,20,0,20,2,0,2);
  layer10  = new TH2F("layer10",label,20,0,20,2,0,2);
  Sum  = new TH1F("Sum","Sum per layer",10,0,10);

  for (int i = 0; i<40 ; i++){
    ay = (int)(i/20.0);
    ax = (i<20) ? i : i-20 ;

    layer1 -> Fill(ax,ay,energy[0][i]);sum[0]+=energy[0][i];
    layer2 -> Fill(ax,ay,energy[1][i]);sum[1]+=energy[1][i];
    layer3 -> Fill(ax,ay,energy[2][i]);sum[2]+=energy[2][i];
    layer4 -> Fill(ax,ay,energy[3][i]);sum[3]+=energy[3][i];
    layer5 -> Fill(ax,ay,energy[4][i]);sum[4]+=energy[4][i];
    layer6 -> Fill(ax,ay,energy[5][i]);sum[5]+=energy[5][i];
    layer7 -> Fill(ax,ay,energy[6][i]);sum[6]+=energy[6][i];
    layer8 -> Fill(ax,ay,energy[7][i]);sum[7]+=energy[7][i];
    layer9 -> Fill(ax,ay,energy[8][i]);sum[8]+=energy[8][i];
    layer10 -> Fill(ax,ay,energy[9][i]);sum[9]+=energy[9][i];
  }

  for(int i= 0; i<10; i++){
    Sum ->Fill(i,sum[i]); 
  }
  Sum->SetXTitle("layer number");
  Sum->SetYTitle("Each Layer Energy Sum(GeV)");


   TCanvas *mode1 = new TCanvas("mode1", "Energy distribution
Example",436,84,679,807);
  mode1->Range(0,0,1,1);
  
// ------------>Primitives in pad: pad1
  TPad *pad1 = new TPad("pad1", "Layer1",0.,0.5,0.5,1.);
   pad1->Draw();
   pad1->cd();
   pad1->Range(-2.5,-0.25,22.5,2.25);
   
   layer1->Draw("color");
   pad1->Modified();
   mode1->cd();
  
  

}//macro

*********************************************************************
Hi,
The above is part of my codes for 2D histogram with color option.
By layer1->Draw("color"), a box is drawn for each cell with color scale
(50 different color range) varying with contents. Actually I don't need
50 colors. Is there any way I can assign colors by contents?
For example,   0.0001<= content < 0.001	 dark blue     
		0.001<=         < 0.01	 light blue
	        0.01 <=		< 0.1	 light green
		0.1  <=		< 1.	 dark green
		1    <=		< 10.	 yellow
		10   <=		< 100.   red
		100. <=         < 1000.  purple

---
Thanks,
Jayoung Wu



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:22 MET