Logo ROOT  
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
11TCanvas *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);
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}
#define h(i)
Definition: RSha256.hxx:106
int Int_t
Definition: RtypesCore.h:45
R__EXTERN TRandom * gRandom
Definition: TRandom.h:62
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition: TAttFill.h:37
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition: TAttText.h:42
The Canvas class.
Definition: TCanvas.h:23
@ kAllAxes
Definition: TH1.h:75
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:257
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
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:187
void Draw(Option_t *option="") override
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:238
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
Definition: TRandom.cxx:608
Double_t Rndm() override
Machine independent random number generator.
Definition: TRandom.cxx:552
TPaveText * pt
return c1
Definition: legend1.C:41