グラフィックススタイルを設定したい(gROOT->SetStyle)
1#include <TROOT.h>
2#include <TStyle.h>
3
4// デフォルトのプレーンスタイル(推奨)
5gROOT->SetStyle("Plain");
6
7// キャンバスのスタイルを適用
8gROOT->ForceStyle();
gROOT->SetStyleメソッドで、ROOTの全体的なグラフィックススタイルを設定できます。
後に作成されるオブジェクトに自動的に適用されます。
1from ROOT import gROOT
2
3# デフォルトのプレーンスタイル(推奨)
4gROOT.SetStyle("Plain")
5
6# キャンバスのスタイルを適用
7gROOT.ForceStyle()
ROOTのスタイルを理解したい
ROOTには複数の組み込みスタイルが提供されています。
利用可能なスタイル
スタイル名 |
説明 |
背景色 |
用途 |
|---|---|---|---|
|
シンプルで見やすい(デフォルト推奨) |
白 |
論文、プレゼンテーション、標準 |
|
古いROOTスタイル |
灰色 |
互換性が必要な場合のみ |
|
モダンで洗練 |
白 |
プレゼンテーション向け |
|
ATLAS実験用 |
白 |
高エネルギー物理学向け |
|
CMS実験用 |
白 |
高エネルギー物理学向け |
|
ROOT標準 |
灰色 |
古いバージョン互換 |
異なるスタイルを使いたい
プレーンスタイル(推奨)
1#include <TROOT.h>
2
3gROOT->SetStyle("Plain");
4gROOT->ForceStyle();
シンプルで見やすく、論文やプレゼンテーションに最適です。 ROOT v5.30以降のデフォルト設定です。
クラシックスタイル(互換性用)
1#include <TROOT.h>
2
3gROOT->SetStyle("Classic");
4gROOT->ForceStyle();
ROOT v5.30以前のスタイルです。 古いコードとの互換性が必要な場合のみ使用してください。
モダンスタイル(プレゼンテーション向け)
1#include <TROOT.h>
2
3gROOT->SetStyle("Modern");
4gROOT->ForceStyle();
モダンで洗練された見た目です。 スクリーン表示やプレゼンテーション向けです。
ATLAS実験スタイル
1#include <TROOT.h>
2
3gROOT->SetStyle("ATLAS");
4gROOT->ForceStyle();
ATLASコラボレーション推奨のスタイルです。 高エネルギー物理学の論文に適しています。
CMS実験スタイル
1#include <TROOT.h>
2
3gROOT->SetStyle("CMS");
4gROOT->ForceStyle();
CMSコラボレーション推奨のスタイルです。 高エネルギー物理学の論文に適しています。
スタイルを設定したい
基本的な設定方法
1#include <TROOT.h>
2
3// スタイルを選択
4gROOT->SetStyle("Plain");
5
6// 現在のスタイルに設定を反映
7gROOT->ForceStyle();
SetStyleで選択したスタイルは、その後に作成されるオブジェクトに自動的に適用されます。
既存のオブジェクトにはForceStyle()を使用して適用します。
複数のグラフをスタイル統一したい場合
1#include <TROOT.h>
2#include <TGraph.h>
3#include <TH1F.h>
4
5// スタイルをスクリプト開始時に設定
6gROOT->SetStyle("Plain");
7
8// その後に作成するすべてのグラフに自動適用
9TGraph *graph1 = new TGraph();
10TH1F *hist1 = new TH1F("hist1", "Histogram 1", 100, 0, 10);
11
12TGraph *graph2 = new TGraph();
13TH1F *hist2 = new TH1F("hist2", "Histogram 2", 100, 0, 10);
複数のグラフ/ヒストグラムを作成する場合は、スクリプト開始時にSetStyleを呼ぶことで、すべてのオブジェクトに統一されたスタイルが適用されます。
利用可能なスタイル一覧を確認したい
1#include <TROOT.h>
2#include <iostream>
3
4// 利用可能なスタイル一覧を表示
5std::cout << "Available styles:" << std::endl;
6std::cout << "- Plain" << std::endl;
7std::cout << "- Classic" << std::endl;
8std::cout << "- Modern" << std::endl;
9std::cout << "- ATLAS" << std::endl;
10std::cout << "- CMS" << std::endl;
組み込みスタイルは上記の5種類が基本です。 システムやROOT設定によって追加スタイルが利用できる場合もあります。
実用例
論文用(標準的な設定)
1#include <TROOT.h>
2#include <TStyle.h>
3
4gROOT->SetStyle("Plain");
5gROOT->ForceStyle();
6
7// その他の細かい設定も可能
8gStyle->SetOptStat(111110); // 統計情報を表示
9gStyle->SetOptFit(1111); // フィット結果を表示
10gStyle->SetPadGridy(1); // Y軸補助線表示
論文掲載用にはPlainスタイルが標準です。
プレゼンテーション用(見やすく)
1#include <TROOT.h>
2#include <TStyle.h>
3
4gROOT->SetStyle("Modern");
5gROOT->ForceStyle();
6
7// さらに見やすくするための設定
8gStyle->SetHistLineWidth(2);
9gStyle->SetHistLineColor(2); // 赤色
10gStyle->SetOptStat(0); // 統計情報非表示
プレゼンテーションではモダンスタイルで、見やすさを重視します。
高エネルギー物理学向け
1#include <TROOT.h>
2#include <TStyle.h>
3
4// ATLASまたはCMS実験規約に従う
5gROOT->SetStyle("ATLAS");
6gROOT->ForceStyle();
7
8gStyle->SetOptStat(111110);
9gStyle->SetOptFit(111);
国際学会投稿時の標準です。
古いコードとの互換性確保
1#include <TROOT.h>
2
3// 古いバージョンのスタイルを使用
4gROOT->SetStyle("Classic");
5gROOT->ForceStyle();
レガシーコードとの互換性が必要な場合のみ使用します。
注意事項
タイミング:
SetStyleはスクリプト開始時に呼ぶことが重要です。呼び出し後に作成されるオブジェクトにのみ適用されます既存オブジェクトへの適用: すでに作成されたオブジェクトに適用する場合は
ForceStyle()を使用してくださいROOT v5.30以降: v5.30以降はデフォルトが
Plainスタイルなので、明示的に呼び出す必要がありませんカスタムスタイル: 組み込みスタイルをベースにカスタマイズすることも可能です(
TStyleクラスのメソッドを使用)ATLAS/CMSスタイル: これらは実験グループの推奨設定です。所属実験の規約にしたがってください
SetStyle() vs ForceStyle()
メソッド |
説明 |
タイミング |
|---|---|---|
|
スタイルを選択 |
スクリプト開始時 |
|
現在のスタイルをすべてのオブジェクトに適用 |
既存オブジェクトに適用する場合 |