グラフィックススタイルを設定したい(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には複数の組み込みスタイルが提供されています。

利用可能なスタイル

スタイル名

説明

背景色

用途

Plain

シンプルで見やすい(デフォルト推奨)

論文、プレゼンテーション、標準

Classic

古いROOTスタイル

灰色

互換性が必要な場合のみ

Modern

モダンで洗練

プレゼンテーション向け

ATLAS

ATLAS実験用

高エネルギー物理学向け

CMS

CMS実験用

高エネルギー物理学向け

ROOT

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()

メソッド

説明

タイミング

SetStyle()

スタイルを選択

スクリプト開始時

ForceStyle()

現在のスタイルをすべてのオブジェクトに適用

既存オブジェクトに適用する場合

リファレンス