京都工芸繊維大学工芸科学部 生命物質科学域高分子機能工学部門 高分子物性工学研究室

  • JP
  • EN
  • menu

    Y wave と X wave (XY wave, pair, scaling, setscale)

    Y wave と X wave (XY wave, pair, scaling, setscale)

    通常グラフを描くときには、y wave を縦軸に、x wave を横軸に選んで、メニューから新規グラフを作成するだろう。 実はこれは、Igor の Wave 本来の取り扱い方ではない。

    もちろん複雑な waveセットは、上記のやり方でいいのだが、以下の例を見て欲しい。

    横軸 x の値、0, 1, 2, 3, 4に対して、縦軸 y の値、1, 3, 5, 7, 9をプロットする場合には、
    y 軸の wave だけ作成して、それだけをプロットすればよい事はご存じだろう。
    具体的には、新規グラフの作成で、x 軸は、_calculated_を選べばよい。

    これまでの lecture では、p と x を同じように扱ってきたが、実は意味が違うのだ。
    p がデータ番号である事は以前に述べたとおりでこれは正しい。
    それに対して x は、デフォルトでは p と同じだが、実は様々な値を割りあえることができるのだ。

    make/D/O yy; yy=p^2
    で テストwave を作成し、メニューから新しい表を作成してみよう。

    通常なら、Edit data columns only のチェックが入っているはずだが、ここでは、Edit index and data columns をチェックしてから Do it ボタンを押そう。

    そうすると、一つの wave なのに2列のデータが出現するはずだ。yyという wave のデータが、yy.d で、そのx座標がyy.xとして格納されているため、通常単に yyを_calculated_に対してプロットすると、横軸は0, 1, 2, 3, …となる。

    ■このx軸の値を変える命令が、setscale 命令だ。

    コマンドラインで、

    setscale/I x 10, 110, “”, yy

    と入力してみよう。これは、yyという wave のx軸スケールを、10 から 110まで均等に割り当てるという命令だ。” ” の部分には、グラフに「単位」を書くことができるがここでは不要だ。各自、値の範囲をいろいろ変えて試してみよう。

    ■今回これについて解説したのには理由が二つある。一つ目は、積分や内挿オペレーションは、x wave と y wave のペアに対して指定するものではなく、x 軸の情報を持ったwaveに対して行う事だ。x data がデフォルトの0, 1, 2, 3…のまま積分計算を行うと予期せぬ結果が返されてしまう。そのためにも IGORでは、x 軸に正しいスケールをセットして、「x軸データを有する wave」 に対して種々の計算を行う必要がある。もう一つの理由は後に紹介する2次元画像データにおけるラベル付けだ。画像に目盛りを付ける場合に、正しい指数付けが必要だが、標準ではデータ数(ピクセル)で表示されてしまう。これを正しい距離やサイズに治すために、setscale命令が必要であると同時に、p と x の正しい理解が必要なのだ。