キャンバスしたい(TCanvas)
1TCanvas *c1 = new TCanvas(
2 "c1", // name
3 "My Canvas", // title
4 1200, // ww: default 800
5 800 // wh: default 600
6);
TCanvasはキャンバスを管理するクラスです。
アクティブな描画領域はgPadというグローバルポインターで参照できます。
ヒストグラムやグラフはgPadに描画されます。
第一引数(name)にオブジェクト名、
第二引数(title)にウィンドウのタイトルを指定できます。
キャンバス作成時に、キャンバスのサイズを変更できます。
幅(ww)と高さ(wh)を調整できます。
デフォルトは幅800ピクセル、高さ600ピクセルです。
1#include <TCanvas.h>
2#include <TH1D.h>
3#include <TRandom.h>
4
5TCanvas *c = new TCanvas("c1", "My Canvas", 800, 600);
6
7TH1D *h = new TH1D("h", "Gaussian;x;Entries", 100, -3, 3);
8for (int i = 0; i < 10000; i++) h->Fill(gRandom->Gaus(0, 1));
9h->Draw();
10
11c->SaveAs("output.png");
1from ROOT import TCanvas, TH1D, TRandom3
2
3c = TCanvas("c1", "My Canvas", 800, 600)
4
5h = TH1D("h", "Gaussian;x;Entries", 100, -3, 3)
6rng = TRandom3()
7for i in range(10000):
8 h.Fill(rng.Gaus(0, 1))
9h.Draw()
10
11c.SaveAs("output.png")
バッチモードしたい(gROOT::SetBatch)
1#include <TCanvas.h>
2#include <TH1D.h>
3#include <TROOT.h>
4
5gROOT->SetBatch(true); // ウィンドウを表示しない
6
7TCanvas *c = new TCanvas("c1", "My Canvas", 800, 600);
8// ... 描画処理 ...
9c->SaveAs("output.png");
マクロやスクリプトでファイルに書き出すだけの場合は、
gROOT->SetBatch(true)でウィンドウ表示を抑制できます。
1from ROOT import TCanvas, gROOT
2
3gROOT.SetBatch(True)
4
5c = TCanvas("c1", "My Canvas", 800, 600)
関連メソッド
TCanvas::Divide - キャンバスを分割する
TH1::Draw - ヒストグラムを描画する
TCanvas::SaveAs - ファイルに保存する
TCanvas::Update - キャンバスを更新する
TLegend - 凡例を追加する