以前のリビジョンの文書です
===== 軸のラベルをtextにする ===== === 元のラベルを飛ばして、手動でtextを配置する方法 === <code cpp> hist->GetXaxis()->SetLabelOffset(100); // 範囲外へ元の数字のラベルを飛ばしてしまう hist->GetXaxis()->SetNdivisions(3,1,1); TLatex *label = new TLatex(); label->SetTextSize(0.07); label->DrawLatexNDC(0.18,0.04,"K_{L}#rightarrow3#pi^{0}");// TLatexでtextを書いていく label->DrawLatexNDC(0.45,0.04,"K_{L}#rightarrow2#pi^{0}"); label->DrawLatexNDC(0.72,0.04,"K_{L}#rightarrow2#gamma"); </code> === SetBinLabel functionを使う方法 === <code cpp> hist->GetXaxis()->SetBinLabel(1,"K_{L}#rightarrow3#pi^{0}");//第一引数はibin hist->GetXaxis()->SetBinLabel(2,"K_{L}#rightarrow2#pi^{0}");// ibin=0 はunderflow hist->GetXaxis()->SetBinLabel(3,"K_{L}#rightarrow2#gamma"); // ibin=nbin+1 はoverflow を表す hist->GetXaxis()->SetLabelSize(0.07); </code> === TPad::DrawFrame を使った場合 === DrawFrame functionで生成されるhistogramは、実はnbin=1000をもつ。 必要なbin数にまでrebinしてまとめてやった上でSetBinLabelを呼べば良い。 <code cpp> TString LabelText[3] = { "K_{L}#rightarrow3#pi^{0}", "K_{L}#rightarrow2#pi^{0}", "K_{L}#rightarrow2#gamma" }; TCanvas *c = new TCanvas("c","c",700,500); TH1F *frame = (TH1F*)c->DrawFrame(0,3,3,4.5); frame->GetXaxis()->SetNdivisions(3,1,1); frame->Rebin( frame->GetNbinsX()/3 ); for(Int_t i = 0 ; i < 3 ; ++i) frame->GetXaxis()->SetBinLabel(i+1,LabelText[i]); frame->GetXaxis()->SetLabelSize(0.07); </code> ----