キャンバスを設定したい(gStyle->SetCanvasDef*

1#include <TStyle.h>
2
3// キャンバスのサイズを設定(幅×高さ)
4gStyle->SetCanvasDefW(700);  // 幅:700ピクセル
5gStyle->SetCanvasDefH(500);  // 高さ:500ピクセル
6
7// キャンバスの表示位置を設定
8gStyle->SetCanvasDefX(10);   // X座標:10ピクセル
9gStyle->SetCanvasDefY(10);   // Y座標:10ピクセル

gStyle->SetCanvasDefWgStyle->SetCanvasDefHgStyle->SetCanvasDefXgStyle->SetCanvasDefYメソッドで、 新規に作成されるキャンバスのデフォルトサイズと表示位置を設定できます。

1from ROOT import gStyle
2
3# キャンバスのサイズを設定
4gStyle.SetCanvasDefW(700)  # 幅:700ピクセル
5gStyle.SetCanvasDefH(500)  # 高さ:500ピクセル
6
7# キャンバスの表示位置を設定
8gStyle.SetCanvasDefX(10)   # X座標:10ピクセル
9gStyle.SetCanvasDefY(10)   # Y座標:10ピクセル

キャンバスのサイズを理解したい

キャンバスのサイズは、グラフやヒストグラムを表示するための領域を決定します。

メソッドの説明

メソッド

説明

デフォルト値

SetCanvasDefW()

キャンバスの幅(ピクセル)

700

SetCanvasDefH()

キャンバスの高さ(ピクセル)

500

SetCanvasDefX()

キャンバスのX座標(画面左上からのオフセット)

10

SetCanvasDefY()

キャンバスのY座標(画面左上からのオフセット)

10

キャンバスサイズの選択

  • 小さいサイズ(400×300): 複数のプロットを並べて表示する場合

  • 標準サイズ(700×500): 単一のグラフ/ヒストグラム表示に推奨

  • 大きいサイズ(1000×800): 詳細な解析やプレゼンテーション用

異なるキャンバスサイズを使いたい

小さいサイズ(4個のプロットを2×2で表示)

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(400);
4gStyle->SetCanvasDefH(300);
5gStyle->SetCanvasDefX(50);
6gStyle->SetCanvasDefY(50);

複数のプロットを並べて表示する場合に有効です。

標準サイズ(単一プロット用)

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(700);
4gStyle->SetCanvasDefH(500);
5gStyle->SetCanvasDefX(10);
6gStyle->SetCanvasDefY(10);

ROOTのデフォルト設定と同じく、単一のグラフ/ヒストグラムの表示に最適です。

大きいサイズ(高解像度ディスプレイ用)

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(1000);
4gStyle->SetCanvasDefH(800);
5gStyle->SetCanvasDefX(100);
6gStyle->SetCanvasDefY(100);

高解像度ディスプレイや詳細な解析に適しています。

ワイドフォーマット(16:9比率)

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(960);
4gStyle->SetCanvasDefH(540);
5gStyle->SetCanvasDefX(10);
6gStyle->SetCanvasDefY(10);

プレゼンテーション用のワイドスクリーン比率です。

キャンバスの表示位置を設定したい

キャンバスの表示位置は、ウィンドウがスクリーンのどこに表示されるかを制御します。

1#include <TStyle.h>
2
3// 画面左上に配置
4gStyle->SetCanvasDefX(0);
5gStyle->SetCanvasDefY(0);
6
7// 画面中央に配置(フルHDの場合)
8gStyle->SetCanvasDefX(640);
9gStyle->SetCanvasDefY(360);

複数のキャンバスを開く場合は、位置をずらすことで重なりを避けられます。

実用例

論文用(標準的な大きさ)

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(700);
4gStyle->SetCanvasDefH(500);
5gStyle->SetCanvasDefX(10);
6gStyle->SetCanvasDefY(10);

単一のプロットを論文に掲載する場合の標準設定です。

プレゼンテーション用(大きく見やすく)

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(1000);
4gStyle->SetCanvasDefH(750);
5gStyle->SetCanvasDefX(50);
6gStyle->SetCanvasDefY(50);

スクリーンでの表示を想定した大きめのサイズです。

データ分析用(複数プロット並列表示)

1#include <TStyle.h>
2
3// 4つのプロットを2×2で表示
4gStyle->SetCanvasDefW(500);
5gStyle->SetCanvasDefH(400);
6gStyle->SetCanvasDefX(10);
7gStyle->SetCanvasDefY(10);

複数のプロットを比較しながら解析する場合に適しています。

高解像度ディスプレイ向け

1#include <TStyle.h>
2
3gStyle->SetCanvasDefW(1400);
4gStyle->SetCanvasDefH(1050);
5gStyle->SetCanvasDefX(200);
6gStyle->SetCanvasDefY(200);

4Kやそれ以上の解像度を持つディスプレイで詳細な表示が可能です。

注意事項

  • 表示位置の範囲: キャンバスの表示位置はスクリーンのサイズを超えないよう設定してください

  • 複数キャンバス: 複数のキャンバスを開く場合は、位置をずらして重なりを避けてください

  • 既存キャンバスへの影響: gStyle での設定は、その後に作成されるキャンバスに適用されます

  • インタラクティブ設定: ウィンドウは後からマウスでリサイズ・移動できます

現在の設定を確認したい

1#include <TStyle.h>
2
3int width = gStyle->GetCanvasDefW();
4int height = gStyle->GetCanvasDefH();
5int x_pos = gStyle->GetCanvasDefX();
6int y_pos = gStyle->GetCanvasDefY();

Get* メソッドで現在の設定値を確認できます。

リファレンス