Logo ROOT   6.14/05
Reference Guide
hlabels2.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_hist
3 /// \notebook
4 /// 2-D histograms with alphanumeric labels.
5 ///
6 /// \macro_image
7 /// \macro_code
8 ///
9 /// \author Rene Brun
10 
11 TCanvas *hlabels2()
12 {
13  const Int_t nx = 12;
14  const Int_t ny = 20;
15  const char *month[nx] = {"January","February","March","April","May",
16  "June","July","August","September","October","November",
17  "December"};
18  const char *people[ny] = {"Jean","Pierre","Marie","Odile","Sebastien",
19  "Fons","Rene","Nicolas","Xavier","Greg","Bjarne","Anton",
20  "Otto","Eddy","Peter","Pasha","Philippe","Suzanne","Jeff",
21  "Valery"};
22  TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,600,600);
23  c1->SetGrid();
24  c1->SetLeftMargin(0.15);
25  c1->SetBottomMargin(0.15);
26  TH2F *h = new TH2F("h","test",3,0,3,2,0,2);
28  h->SetStats(0);
29  gRandom->SetSeed();
30  for (Int_t i=0;i<15000;i++) {
31  Int_t rx = gRandom->Rndm()*nx;
32  Int_t ry = gRandom->Rndm()*ny;
33  h->Fill(people[ry],month[rx],1);
34  }
35  h->LabelsDeflate("X");
36  h->LabelsDeflate("Y");
37  h->LabelsOption("v");
38  h->Draw("text");
39 
40  TPaveText *pt = new TPaveText(0.6,0.85,0.98,0.98,"brNDC");
41  pt->SetFillColor(18);
42  pt->SetTextAlign(12);
43  pt->AddText("Use the axis Context Menu LabelsOption");
44  pt->AddText(" \"a\" to sort by alphabetic order");
45  pt->AddText(" \">\" to sort by decreasing values");
46  pt->AddText(" \"<\" to sort by increasing values");
47  pt->Draw();
48  return c1;
49 }
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:233
virtual void LabelsOption(Option_t *option="h", Option_t *axis="X")
Set option(s) to draw axis with labels.
Definition: TH1.cxx:5085
return c1
Definition: legend1.C:41
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
Definition: TPaveText.cxx:182
int Int_t
Definition: RtypesCore.h:41
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
Definition: TRandom.cxx:589
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)
Definition: TPad.h:327
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition: TAttText.h:41
virtual Double_t Rndm()
Machine independent random number generator.
Definition: TRandom.cxx:533
virtual void SetBottomMargin(Float_t bottommargin)
Set Pad bottom margin in fraction of the pad height.
Definition: TAttPad.cxx:100
TPaveText * pt
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:2974
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition: TAttFill.h:37
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:250
virtual void LabelsDeflate(Option_t *axis="X")
Reduce the number of bins for the axis passed in the option to the number of bins having a label...
Definition: TH1.cxx:4954
R__EXTERN TRandom * gRandom
Definition: TRandom.h:62
#define h(i)
Definition: RSha256.hxx:106
The Canvas class.
Definition: TCanvas.h:31
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
virtual UInt_t SetCanExtend(UInt_t extendBitMask)
Make the histogram axes extendable / not extendable according to the bit mask returns the previous bi...
Definition: TH1.cxx:6138
Int_t Fill(Double_t)
Invalid Fill method.
Definition: TH2.cxx:292
THist< 2, float, THistStatContent, THistStatUncertainty > TH2F
Definition: THist.hxx:291
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
Definition: TH1.cxx:8284
virtual void SetLeftMargin(Float_t leftmargin)
Set Pad left margin in fraction of the pad width.
Definition: TAttPad.cxx:110