3.5. スケールの違うグラフを同時に表示する¶
X軸もしくはY軸のスケールが異なる複数のグラフを 同じ座標軸系に表示したいときがあります。 例えば、X軸は同じでもY軸の値が甚だしく違う場合、 左側のY軸目盛りと、右側のY軸目盛りを独立に描きたいという 時です。 ANGEL では、左右の軸、もしくは上下の軸で独立な値を取る オプションは用意されていませんが、ふたつのグラフを 重ねることにより実現できます。
例題として、次の様なふたつのグラフを考えて見ます。
List 3.11 ● グラフの重ね合わせ1
1: p: scal(0.5) nofr noms
2: x: E (MeV)
3: y: Multiplicity
4: p: xmin(0) xmax(5.0) ymin(0) ymax(70) nosp
5: h: x y,3l
6: 0.5 10
7: 1.5 40
8: 2.5 20
9: 3.5 60
10: 4.5 30
11:
12: z: xorg(1.3)
13: x: E (MeV)
14: y: d\sigma/d\Omega dE (nb/MeV/sr)
15: p: xmin(0) xmax(5.0) ymin(0) ymax(5) nosp
16: h: x y1,d6 ny2 dy1=[y1*y2/100]
17: 0.0 0.0 0.0
18: 1.0 0.4 50.0
19: 2.0 1.5 30.0
20: 3.0 2.5 20.0
21: 4.0 4.1 10.0
図 3.16 グラフの重ね合わせ1¶
これらは、ふたつのグラフをマルチグラフセクションを用いて 並列したものです。ふたつを重ねるには、 12行目で xorg(0.0) とすれば良いのですが、 目盛りや、タイトルが重なってしまいます。 そこで以下のようにします。
List 3.12 ● グラフの重ね合わせ2
1: p: scal(0.5) nofr noms
2: p: ytic(1)
3: x: E (MeV)
4: y: Multiplicity
5: p: xmin(0) xmax(5.0) ymin(0) ymax(70) nosp
6: h: x y,3l
7: 0.5 10
8: 1.5 40
9: 2.5 20
10: 3.5 60
11: 4.5 30
12:
13: z: xorg(0.0)
14: p: ytxt(-1) ytic(-1) ynum(-1)
15: x: E (MeV)
16: y: d\sigma/d\Omega dE (nb/MeV/sr)
17: p: xmin(0) xmax(5.0) ymin(0) ymax(5) nosp
18: h: x y1,d6 ny2 dy1=[y1*y2/100]
19: 0.0 0.0 0.0
20: 1.0 0.4 50.0
21: 2.0 1.5 30.0
22: 3.0 2.5 20.0
23: 4.0 4.1 10.0
図 3.17 グラフの重ね合わせ2¶
まず、2行目で最初のグラフの右目盛りを消します。 次に14行目で2つめのグラフのYタイトル、Y軸目盛り、Y軸目盛り数字を 右側だけの表示とします。以上で異なるスケールの2軸の同時表示が 完成です。