From $ROOTSYS/tutorials/hist/hlabels2.C

// 2-D histograms with alphanumeric labels
// author; Rene Brun
void hlabels2()
{
   const Int_t nx = 12;
   const Int_t ny = 20;
   const char *month[nx]  = {"January","February","March","April","May",
      "June","July","August","September","October","November",
      "December"};
   const char *people[ny] = {"Jean","Pierre","Marie","Odile","Sebastien",
      "Fons","Rene","Nicolas","Xavier","Greg","Bjarne","Anton",
      "Otto","Eddy","Peter","Pasha","Philippe","Suzanne","Jeff",
      "Valery"};
   TCanvas *c1 = new TCanvas("c1","demo bin labels",10,10,800,800);
   c1->SetGrid();
   c1->SetLeftMargin(0.15);
   c1->SetBottomMargin(0.15);
   TH2F *h = new TH2F("h","test",3,0,3,2,0,2);
   h->SetCanExtend(TH1::kAllAxes);
   h->SetStats(0);
   gRandom->SetSeed();
   for (Int_t i=0;i<15000;i++) {
      Int_t rx = gRandom->Rndm()*nx;
      Int_t ry = gRandom->Rndm()*ny;
      h->Fill(people[ry],month[rx],1);
   }
   h->LabelsDeflate("X");
   h->LabelsDeflate("Y");
   h->LabelsOption("v");
   h->Draw("text");
   
   TPaveText *pt = new TPaveText(0.6,0.85,0.98,0.98,"brNDC");
   pt->SetFillColor(18);
   pt->SetTextAlign(12);
   pt->AddText("Use the axis Context Menu LabelsOption");
   pt->AddText(" \"a\"   to sort by alphabetic order");
   pt->AddText(" \">\"   to sort by decreasing values");
   pt->AddText(" \"<\"   to sort by increasing values");
   pt->Draw();
}
 hlabels2.C:1
 hlabels2.C:2
 hlabels2.C:3
 hlabels2.C:4
 hlabels2.C:5
 hlabels2.C:6
 hlabels2.C:7
 hlabels2.C:8
 hlabels2.C:9
 hlabels2.C:10
 hlabels2.C:11
 hlabels2.C:12
 hlabels2.C:13
 hlabels2.C:14
 hlabels2.C:15
 hlabels2.C:16
 hlabels2.C:17
 hlabels2.C:18
 hlabels2.C:19
 hlabels2.C:20
 hlabels2.C:21
 hlabels2.C:22
 hlabels2.C:23
 hlabels2.C:24
 hlabels2.C:25
 hlabels2.C:26
 hlabels2.C:27
 hlabels2.C:28
 hlabels2.C:29
 hlabels2.C:30
 hlabels2.C:31
 hlabels2.C:32
 hlabels2.C:33
 hlabels2.C:34
 hlabels2.C:35
 hlabels2.C:36
 hlabels2.C:37
 hlabels2.C:38
 hlabels2.C:39
 hlabels2.C:40
 hlabels2.C:41