この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ja:root:tcanvas [2014/04/03 03:27] kota [Canvas の分割] |
ja:root:tcanvas [2014/05/23 06:18] (現在) kota [Canvas の作成] |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== TCanvas ====== | + | ====== キャンバスの設定・装飾 ====== |
ライン 5: | ライン 5: | ||
===== Canvas の作成 ===== | ===== Canvas の作成 ===== | ||
- | * TCanvas の宣言 | + | * Canvas を作成(TCanvas クラスのインスタンスを作成) |
<code c_mac> | <code c_mac> | ||
TCanvas *c = new TCanvas("c","c",600,500);//TCanvas(const char* name, const char* title, Int_t ww, Int_t wh) | TCanvas *c = new TCanvas("c","c",600,500);//TCanvas(const char* name, const char* title, Int_t ww, Int_t wh) | ||
ライン 11: | ライン 11: | ||
* サイズはピクセル単位 | * サイズはピクセル単位 | ||
* ただしこれはメニューやウインドウの枠を含んだ大きさである。実際の図自体の大きさはこれよりも小さくなってしまっている。 | * ただしこれはメニューやウインドウの枠を含んだ大きさである。実際の図自体の大きさはこれよりも小さくなってしまっている。 | ||
- | * 描画部分の大きさを指定したい場合は、以下のようにする | + | * menue bar で24pixel , 周囲の枠で2pixel とられている。 |
+ | * 描画部分の大きさを指定したい場合は、以下のようにする | ||
<code c_mac> | <code c_mac> | ||
Int_t w = 600; | Int_t w = 600; | ||
ライン 17: | ライン 18: | ||
TCanvas * c1 = new TCanvas("c", "c", w, h); | TCanvas * c1 = new TCanvas("c", "c", w, h); | ||
c->SetWindowSize(w + (w - c->GetWw()), h + (h - c->GetWh())); | c->SetWindowSize(w + (w - c->GetWw()), h + (h - c->GetWh())); | ||
- | gSystem->ProcessEvents();//サイズ変更を反映(c->Update(); でもよい?) | + | |
+ | c->Modified(); | ||
+ | c->Update(); //サイズ変更を反映 | ||
</code> | </code> | ||
* バッチモード(ディスプレイに表示させない、後で c->SaveAs("c.png") とかする)では、単に | * バッチモード(ディスプレイに表示させない、後で c->SaveAs("c.png") とかする)では、単に | ||
ライン 25: | ライン 28: | ||
とすればよい(試してないのであってるかどうか知らん) | とすればよい(試してないのであってるかどうか知らん) | ||
- | {{:ja:root:root:window.png?600|}} | + | {{:ja:root:window_canvas.png?800|}} |
+ | |||
+ | |||
+ | * canvas(青枠)の左下がNDCの原点(0,0),右上が(1,1)となっている。 | ||
+ | * histogramの枠はデフォルトでNDCで0.1ずつマージンが設けられている。(以下で確認可) | ||
+ | <code c_mac> | ||
+ | gStyle->GetPadTopMargin() | ||
+ | gStyle->GetPadBottomMargin() | ||
+ | gStyle->GetPadRightMargin() | ||
+ | gStyle->GetPadLeftMargin() | ||
+ | </code> | ||
+ | * histogramの枠のマージンは以下のようにして変更可能 | ||
+ | <code c_mac> | ||
+ | gStyle->SetPadTopMargin(0.01)//全体を一括して変更 | ||
+ | gPad->SetBottomMargin(0.2) //それぞれのpadで変更 | ||
+ | </code> | ||
+ | |||
+ | * 上手く使えば統計boxなどをヒストグラムの枠の外に出せる。 | ||
---- | ---- | ||
===== Canvas の分割 ===== | ===== Canvas の分割 ===== | ||
ライン 50: | ライン 71: | ||
* ちなみにMBA 13インチで幅1440、高さ878だった | * ちなみにMBA 13インチで幅1440、高さ878だった | ||
* 外部ディスプレイ(23インチ)を付けた状態では、1080,3360と表示された。(足されてる?) | * 外部ディスプレイ(23インチ)を付けた状態では、1080,3360と表示された。(足されてる?) | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 要素 ===== | ||
+ | * むしろ軸の範疇 | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== gPad ===== | ||
+ | |||
+ | * 今いるキャンバス(c->cd(1)した先とか)を指す | ||
+ | |||
+ | <code c_mac> | ||
+ | gPad->SetRightMargin(0.08) ; | ||
+ | gPad->SetLeftMargin(0.08) ; | ||
+ | gPad->SetTopMargin(0.02) ; | ||
+ | gPad->SetBottomMargin(0.02) ; | ||
+ | | ||
+ | gPad->SetGridx(1) ; | ||
+ | gPad->SetGridy(1) ; | ||
+ | </code> | ||
+ | |||
+ |