Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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);
27  h->SetCanExtend(TH1::kAllAxes);
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 }