軸の目盛り間隔を変更したい(gStyle->SetNdivisions

 1#include <TStyle.h>
 2
 3// デフォルト: 50分割(10分割×5分割)
 4gStyle->SetNdivisions(000510);
 5
 6// 100分割にしたい
 7gStyle->SetNdivisions(020510);
 8
 9// 20分割にしたい(シンプル)
10gStyle->SetNdivisions(000520);

gStyle->SetNdivisionsメソッドで、 グラフやヒストグラムの軸の目盛り間隔を制御できます。

 1from ROOT import gStyle
 2
 3# デフォルト: 50分割
 4gStyle.SetNdivisions(000510)
 5
 6# 100分割
 7gStyle.SetNdivisions(020510)
 8
 9# 20分割
10gStyle.SetNdivisions(000520)

パラメーターの意味を理解したい

SetNdivisionsの引数は、TTSSPP形式の6桁の整数です。

パラメーター

説明

PP(右2桁)

Primary

軸全体の分割数

SS(中央2桁)

Secondary

PP分割された各セグメント内の分割数

TT(左2桁)

Tertiary

SS分割された各セグメント内の分割数

デフォルト値(000510)の説明

000510 = TT(00) + SS(05) + PP(10)
  • PP=10: 軸を10セグメントに分割

  • SS=05: 各セグメントをさらに5分割

  • TT=00: 3段階目の分割なし

結果として、軸全体は10×5=50の目盛りになります。

異なる分割数を使いたい

100分割にしたい

1#include <TStyle.h>
2
3gStyle->SetNdivisions(020510);
  • PP=10: 軸を10分割

  • SS=05: 各セグメントを5分割

  • TT=02: さらに2分割

計算: 10×5×2 = 100分割

20分割にしたい(シンプル)

1#include <TStyle.h>
2
3gStyle->SetNdivisions(000520);
  • PP=20: 軸を20分割

  • SS=05: 各セグメントを5分割

  • TT=00: 3段階目の分割なし

計算: 20×5 = 100目盛り

カスタム分割(少ない目盛り)

1#include <TStyle.h>
2
3// 5分割のシンプルな表示
4gStyle->SetNdivisions(000505);
  • PP=05: 5分割のみ

  • SS=05, TT=00: セグメント内分割なし

計算: 5目盛り

特定の軸だけを変更したい

 1#include <TStyle.h>
 2
 3// X軸の目盛り数を指定
 4gStyle->SetNdivisions(006, "X");
 5
 6// Y軸の目盛り数を指定
 7gStyle->SetNdivisions(010, "Y");
 8
 9// Z軸の目盛り数を指定
10gStyle->SetNdivisions(008, "Z");

SetNdivisionsの第2引数で軸を指定できます。 軸全体の分割数のみ指定する簡潔な方法です。

実用例

論文用(見やすく、シンプル)

1#include <TStyle.h>
2
3gStyle->SetNdivisions(005, "X");
4gStyle->SetNdivisions(005, "Y");

5分割という少ない目盛りで、見やすくシンプルな表示です。

データ分析用(詳細な読み取り)

1#include <TStyle.h>
2
3gStyle->SetNdivisions(020510);

100分割で細かく値を読み取ることができます。

プレゼンテーション用(視認性重視)

1#include <TStyle.h>
2
3gStyle->SetNdivisions(010);

10分割のシンプルで見やすい表示です。

リファレンス