TLegend編
TLegendやTTextとかも含めて、凡例表示に関して
凡例を表示したい
TLegendを使ってプロットの凡例を表示できます。
1TLegend *leg = new TLegend(0.2, 0.7, 0.5, 0.9, "");
2leg->AddEntry(gre1, Form("RUN%d", nrun1), "lp");
3leg->AddEntry(gre2, Form("RUN%d", nrun2), "lp");
4leg->SetFillStyle(0);
5leg->Draw();
TLegend
オブジェクトにはさまざまなROOTオブジェクトを追加(AddEntry
)することができる(はず)凡例のラベル表示のオプション
l
— 線を表示;SetLineColorした色が表示されるp
— 点を表示;SetMarkerStyle, SetMarkerColorしたマーカー・、色が表示されるf
— 背景を表示;SetFillStyle, SetFillColorがした色、スタイルが表示される
TLegend
の背景は、デフォルトで灰色なので、SetFillStyle(0)(背景なし)、もしくはSetFillColor(0)(白塗り)する必要がある
任意の位置に文字を表示したい
TText
を使って任意の位置に文字を表示できます。
1TText *t = new TText(0.5, 0.5, "");
2t->DrawTextNDC(0.2, 0.75, Form("Relative Q.E = %.2f", p1));
任意の位置に文字を表示したい
TPaveText
を使うとより複雑な文字を表示できます。
1TPaveText *pt=new TPaveText(0.15,0.6,0.45,0.8,"brNDC");
2pt->SetFillStyle(0);
3pt->SetBorderSize(0);
4TText* tt;
5tt=pt->AddText(Form("Mean = %.2f", mean));
6tt=pt->AddText(Form("RMS = %.2f", rms));
7tt=pt->AddText(Form("R/M = %.2f %%", rms/mean * 100));
8tt->SetTextColor(kRed);
9pt->Draw();
AddText()した後に、SetTextColor()をすることで、その文字列だけ色を変更できる