スケールの違うグラフを同時に表示する ------------------------------------ X軸もしくはY軸のスケールが異なる複数のグラフを 同じ座標軸系に表示したいときがあります。 例えば、X軸は同じでもY軸の値が甚だしく違う場合、 左側のY軸目盛りと、右側のY軸目盛りを独立に描きたいという 時です。 ANGEL では、左右の軸、もしくは上下の軸で独立な値を取る オプションは用意されていませんが、ふたつのグラフを 重ねることにより実現できます。 例題として、次の様なふたつのグラフを考えて見ます。 .. rubric:: List 3.11 ● グラフの重ね合わせ1 :name: list-3-11 :class: angel-list-caption .. code-block:: text 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 .. figure:: assets/two001.png :name: fig-user-3-16 :width: 757.8pt :align: center :class: responsive-figure グラフの重ね合わせ1 これらは、ふたつのグラフをマルチグラフセクションを用いて 並列したものです。ふたつを重ねるには、 12行目で ``xorg(0.0)`` とすれば良いのですが、 目盛りや、タイトルが重なってしまいます。 そこで以下のようにします。 .. rubric:: List 3.12 ● グラフの重ね合わせ2 :name: list-3-12 :class: angel-list-caption .. code-block:: text 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 .. figure:: assets/two002.png :name: fig-user-3-17 :width: 570pt :align: center :class: responsive-figure グラフの重ね合わせ2 まず、2行目で最初のグラフの右目盛りを消します。 次に14行目で2つめのグラフのYタイトル、Y軸目盛り、Y軸目盛り数字を 右側だけの表示とします。以上で異なるスケールの2軸の同時表示が 完成です。