LabTalk

Chapter 8
8
Chapter
LabTalk
LabTalk を使うことで、データの処理や
グラフ化、分析などの操作を自動化する
ことができます。
大量のデータを取り扱ったり、同じ操作を
繰り返し行う場合など、特に有効です。
作成したスクリプトは、通常テンプレート
上のボタンに割り付けて利用します。
463
ORIGIN6.0
8 - 01
Chapter
LabTalk の基礎
LabTalk は ORIGIN 独自のスクリプト(プログラミング)言語です。作業の自動化や、通常のメ
ニュー操作では実行できない処理も行えます。
LabTalk
LabTalk は ORIGIN の中でだけ利用できる簡易プログラミング言語です。ORIGIN は、この簡易言
語のコマンドを実行してグラフの作成やデータの管理、演算を行っていますので、LabTalk を
理解することで ORIGIN の構造がより深く理解でき、操作性を向上させることができます。
ORIGIN の上位バージョンである ORIGIN Pro には、モジュールがいくつか用意されております
が、これらは、追加のLabTalkコマンドセットであると理解してください。したがって、LabTalk
のコマンドを理解していないと、モジュールを使いこなすことは困難です。ただし、PFM(Peak
Fitting Module)はあらかじめ専用のユーザインタフェースが準備されていますので、その心
配はいりません。LabTalkは、
「ウィンドウ」メニューから「スクリプトウィンドウ」を選択し、
開いたスクリプトウィンドウに記述します。
スクリプトウィンドウを
開いた画面
LabTalk コマンドの例
LabTalk はインタープリタ言語なので、コマンド実行する度に先頭からコマンドの意味を解釈
して、プログラムを実行します。スクリプトウィンドウに次のように入力して Enter キーを押
します。
A=123(Enter キー)
464
Chapter 8
変数 A を作成し、123 を代入しました。
「=」は変数に数値や文字を代入するために利用します。
数学の等号ではありません。Enter キーを押すと、行の最後に「;(セミコロン)」が表示されま
す。これはそのコマンド行が実行済みであることを示しています。
つづけて、
「A=」として同じく Enter キーを押します。すると画面に「123」という文字列が表
示されます。
「A=」は数値変数 A の中身をウィンドウに表示するコマンドです。
「Type $(A)」と
実行しても、同じように変数の中身を表示することができます。
スクリプトウィンドウ
変数間の演算や代入を行う場合は、変数の属性に注意してください。
「変数形を間違えたため
にスクリプトが実行されない」とうことがよくありますので、注意してください。
なお、スクリプトウィンドウは普通のテキストエディタ(メモ帳)のようなものです。一度、
記述したスクリプトはそのままテキストファイルとして保存できます。
スクリプトウィンドウ
の「ファイル」メニューから「新規保存」を選択すると次のダイアログが表示されます。
スクリプトファイルの保存
ダイアログ
スクリプトはテキストファイルとして保存できます。また、便利な方法としてボタン(オブ
ジェクト)を画面に作成して、そこにスクリプトを埋め込むこともできます。この方法につい
ては Chapter8-05「ボタンコントロール」の項目を参照してください。
465
ORIGIN6.0
オブジェクトメソッド/プロパティ
コマンドとは別にオブジェクトのプロパティを取得、
操作するためのメソッド/プロパティが
用意されています。その操作方法は Microsoft 社の Visual Basic に似ておりますので、
VisualBasic の経験者なら簡単に操作方法を理解できるはずです。
試しにスクリプウィンドウで次のように入力して Enter キーを押してください。
wks.colwidth=(Enter キー)
結果は次の通りです。
スクリプトウィンドウ
スクリプトウィンドウに大文字で「WKS.COLWIDTH=8」という文字列が表示されます。画面に表
示されているワークシート幅が「8」であることが分かります。ワークシートというオブジェ
クトの列幅に関するプロパティを取得したわけです。等号の右側に任意の数値を設定すると、
今度は列幅をその値に指定することができます。
wks.colwidth=5(Enter キー)
としてみてください。ワークシートの列幅が小さくなるのが確認できます。
前者の利用方法をオブジェクトプロパティ、後者をオブジェクトメソッドと呼んでいます。
466
Chapter 8
8 - 02
Chapter
LabTalk コマンド
ORIGINのメニューで操作可能なものはすべてLabTalkコマンドで実行可能です。コマンド体系
について概略を説明します。
どのような時に便利か?
次のようなデータ処理を行っているユーザは LabTalk を試してみる価値があります。
1.
2.
計測器から収集したデータを ORIGIN で加工する時に、いつも同じ前処理をメ
ニュー操作で行っている。
インポートした ASCII ファイルのヘッダ情報をいつもグラフに書き加えている。
3.
4.
5.
入力したデータの並替えを手作業で行っている。
欠測値、異常値を手作業で見つけ出している。
複数枚のグラフの作成を手作業で行っている。
これらの作業は LabTalk を使って楽に行えるようになります。LabTalk に関する基本事項を押
さえておきましょう。
LabTalk コマンドを利用する時に必要なもの
コマンドを記述する上で次のことを基本的に理解しておく必要があります。
数値変数
文字列変数
演算子
置換表記
それぞれの概要と注意点は次に通りです。
数値変数
数値データを格納するための変数です。
半角アルファベット(数字を含んでもかまいません)を
変数名として利用できます。
例)A1
!
Attention
次にあげる変数名は利用しないでください。
X1、X2、Y1、Y2
これらは XY 軸の開始値と終了値として、すでに ORIGIN 本体が使用していま
す。
echo
スクリプトウィンドウに表示するメッセージ用にORIGIN本体が使用していま
す。
467
ORIGIN6.0
X、Y、Z
座標位置を検出する ORIGIN の機能がすでに使用しています。
小文字の i
データセットの行番号(インデックス)に ORIGIN 本体が使用しています。
SELC1、SELC2、SELR1、SELR2
ワークシートの選択範囲を示す値として ORIGIN 本体が使用しています。
COUNT
ORIGIN の別の回数を数えるルーチンが使用しています。
@(アットマーク)の付いた変数
以下の変数は既に ORIGIN 本体が使用しています。
@A、@B、@L、@D、@V、@P、@O など
文字列変数
文字列データを格納するための変数です。次の文字列変数は ORIGIN がシステム変数として既
に使っていますので注意しましょう。また、格納できる文字列は半角英数字で 105 文字までで
す。
%A、%B、%C、%D、%E、%F、%G、%H、%I、%J、%U、%V、%X、%Y、%Z など
演算子
演算子には次の 4 種類のものがあります。
算術演算子 ... 主に四則演算
代入演算子 ... 数値変数や文字列変数への値の代入や演算
論理演算子 ... 不等式など
条件演算子 ... 条件文
置換表記
%( ワークシート名、列番号、行番号)
該当するセルの内容を取得、または代入します。
例)A=(data1,4,3)
ワークシート data1 の左から 4 列目、3 行目のセルの数値データを数値変数 A に代
入します。
$(expression )
数値変数 expression の内容を文字列に変換します。
例)K=10
Type $(K)
スクリプトウィンドウには 10 が表示されます。これを単に , Type K とすると K
が表示されます。
468
Chapter 8
一番大切なルール
ここで一番大切なルールについて説明します。
1.
実行するスクリプト行の後ろにはセミコロンはつけないこと。
ただし、複数行のスクリプトは最後の行以外、すべてセミコロンを付けてくださ
い。
2.
複数行のスクリプトを実行する場合はすべての行をマウスで選択し、
反転表示さ
せて Enter キーを押します。
3.
複数行のスクリプトを記述する時は、スクリプトウィンドウの「編集」メニュー
で「スクリプトの実行」のチェックを外しておきます。
469
ORIGIN6.0
8 - 03
Chapter
メソッドとプロパティ
ORIGIN のメソッド/プロパティは Microsoft 社の Visual Basic の操作方法とたいへん良く似
ています。LabTalk で ORIGIN の属性情報を取得したり、属性を変更したい場合はこのメソッド
/プロパティを利用します。
どんな時に利用するのか?
LabTalk スクリプトを記述している最中に、どうしても目的のコマンドが見つからない時があ
ります。そのような時はメソッド/プロパティを調べてください。
オブジェクト
メソッド/プロパティを利用する場合、
「オブジェクト」という言葉を正しく理解しておくこ
とが必要です。オブジェクトとは、ORIGIN の操作画面に表示される「ワークシート」
、
「プロッ
トした点」
、
「XY 軸」などの ORIGIN のプロジェクトを構成する各部品のことを意味しています。
また、ワークシートに入力された「データセット」のこともオブジェクトと呼ぶことができま
す。
メソッドとプロパティの違い
両者の違いについてワークシートオブジェクトの例を用いて説明します。
空のワークシートを
開いてください。
空のワークシート
ここでスクリプトウィンドウを開き、次のスクリプトを実行します。
プロパティの例
wks.ncols=(Enter キー)
スクリプトウィンドウにはワークシート中の列(カラム)数として、2 が表示されま
す。
470
Chapter 8
メソッドの例
wks.addcol(test)=(Enter キー)
ワークシート中に新たに列が追加され、
「TEST」という列名が付きました。
メソッドで列を追加
同じワークシートオブジェクトに対して、
メソッドとプロパティを活用することで様々な操作
を実行することができます。
スクリプトウィンドウからも明らかなように、
プロパティで画面に表示された内容はそのまま、
数値変数に格納することができます。最初にスクリプトウィンドウの「編集」メニューから
「スクリプトの実行」のチェックを外してから、スクリプトウィンドウに次のように入力して
みましょう。
A=$(wks.ncols);
A=
<- 必ずセミコロンを付けてください!
「編集」メニューで「スクリプトの実行」をチェックし、下図のように、実行する 2 行だけを
選択してから Enter キーを押します。
スクリプト実行
この結果、
「A=3」という数値が表示されます。
メソッドとプロパティはコマンドと自由に組み合わせて利用することができます。
471
ORIGIN6.0
8 - 04
Chapter
演算子
LabTalk に用意されている演算子について説明します。
LabTalk には大きく分けて次の種類の演算子が用意されています。それぞれの利用方法と使用
上のルールについて理解してください。
算術演算子
代入演算子
論理演算子
条件演算子
ただし、ORIGIN ではこれらの演算子を、次の順番にしたがって優先順位を付けて評価(実行)
します。
1.
2.
3.
4.
代入演算子
カッコ内の演算子を、カッコの外の演算子より先に評価します。
乗算と除算は加算、減算よりも優先されます。
論理演算子間では = = と =!は最後に評価されます。
5. 論理演算子 && と ││ は記述された順番に評価されます。
6. 条件演算子?:は最後に評価されます。
算術演算子
加減乗除を行うための一般的な演算子です。
+ 加算
− 減算
* 乗算
/ 除算
^ 指数
& ビットの And 計算
| ビットの Or 計算
例)スクリプトウィンドウで次のような演算を行えます。
3+8=
3&5=
実行結果は
3+8=13
3&5=1
ビットの And 計算は次のようにして実行されます。
3は
5は
011
101
したがって、ビット単位での AND をとると 001 となります。
472
Chapter 8
代入演算子
文字変数や数値変数の作成、変数への値の代入などを行うための演算子です。
=
変数に数値を代入します
+= 変数にある値を加え、その結果を新たに変数に格納します
−= 変数からある値を引き、その結果を新たに変数に格納します
*= 変数にある値を掛け、その結果を新たに変数に格納します
/= 変数をある値で割り、その結果を新たに変数に格納します
^= 変数を指数計算し、その結果を新たに変数に格納します
スクリプトウィンドウで次のような演算を行えます。
例 1)
A=3;
B=6;
A+B=;
とすると
A+B=9
という式が表示されます。この時、数値変数 A と B にはそれぞれ、3 と 6 が格納されてい
ます。
例 2)
A=6;
A+=5;
A=;
とすると
A=11
という値が表示されます。
論理演算子
変数の比較など、if での条件式などでよく使われます。
>
より大きい
>= 以上
<
より小さい
<= 以下
== 等しい
!= 等しくない
&& かつ
││
または
スクリプトウィンドウで次のような演算を行えます。
例)
A=10;
B=100;
if(A>B) type "A>B";
else type "A=B or A<B"
とすると
「A=B or A<B」
という結果が表示されます。
473
ORIGIN6.0
条件演算子
基本的には if 文と同じ機能を持っています。
式1?式2:式 3
式 1 が真のとき、式 2 を実行します。式1が偽のとき、式 3 が実行されます。
スクリプトウィンドウで次のような演算を行えます。
例)
A=100;
B=99;
C=(A>B?B/A:A/B);
C=
このスクリプトを実行すると次の結果が得られます。
C=0.99
?
Hint
474
「C=(A>B?B/A:A/B)」は、つぎのように記述することも可能です。
If (A>B) C=B/A;
Else C=A/B;
Chapter 8
8 - 05
Chapter
ボタンコントロール
コントロールとは LabTalk スクリプトと結合したオブジェクトのことです。ラベルボタンと
ツールバーボタンがあります。
コントロールの利用方法
例えば、LabTalk スクリプトを使って作業の自動化を行う場合、テキスト形式で保存したスク
リプトファイルを開いてそれを実行するのは面倒です。ORIGINでは、このスクリプトをボタン
に結合させて、それをクリックすることでスクリプトを自動実行させることができます。ボタ
ンには、テキストラベルをボタン化するラベルボタンとツールバーに作成するボタンの2種類
あります。ラベルボタンを作成し、テンプレートとして保存しておけば、必要な時にだけ使用
することができます。ツールバーボタンは、ORIGIN6.0から提供される新機能です。ツールバー
にボタン作成しておけば、
異なるテンプレートを使用している時にでも使用することができま
す。必要に応じて使い分けをしましょう。
ラベルボタン
空のワークシートを開きます。余白部分をダブルクリックして「ワークシート表示制御」ダイ
アログを開きます。
「ワークシートの大きさ」の項目で「上余白」を「40」として OK ボタンを
押します。
ワークシート表示制御ダイアログ
余白部分にテキストツールを使って「Data Import」と入力し、背景を「影」にします。
475
ORIGIN6.0
オブジェクト作成ツール
テキストツール
ワークシートは次のようになります。
テキストを余白に入力
次に「編集」メニューから「ボタン編集モード」を選択します。これにより ORIGIN は通常の
操作モードからボタン編集モードに切替わります。
ボタン編集モードではデータの入力や列値
の設定など、データを直接追加、編集することはできません。ボタン編集モードにしたら、ボ
タンを選択します。
次に「フォーマット」メニューから「オブジェクトの制御」を選択します。
「オブジェクト制
御」ダイアログが表示されますので、オブジェクト名を「Import」とし、ダイアログ中ほどに
あるプルダウンリストから「ボタンアップ」のあとでスクリプトを実行する、に設定します。
オブジェクト制御ダイアログ
オブジェクト名とはテキストオブジェクトの名前で、
メソッドやプロパティを使って操作する
時に必要になりますので、必ず付けるようにしましょう(オブジェクト名を付けなくても動作
上の問題はありません)
。オブジェクト名には半角アルファベットを利用しましょう。
476
Chapter 8
スクリプトの記述欄に次のスクリプトを入力します。
getfilename *.dat;
open -w %B%A;
OK ボタンをクリックしてダイアログを閉じます。
「編集」メニューから「ボタン編集モード」
のチェックを外して、通常の操作モードに戻ります。スクリプトを実行する前に、このワーク
シートをテンプレートとして保存します。
「ファイル」メニューから「テンプレートの新規保
存」を選択します。任意の名前を付けて保存します。これで、ボタンコントロールの付いた
ワークシートテンプレートの完成です。
それでは実際に「DataImport」ボタンを押してスクリプトを実行してください。目的のテキス
トファイル(拡張子は DAT)を選択するだけでデータがインポートされます。このような働き
をするオブジェクト(この場合はテキスト)をボタンコントロールと呼びます。
このサンプルスクリプトを元にデータをインポートした時のワークシートは次のようになりま
す。
スクリプトを実行した後の
ワークシート
この画面を印刷しても、ボタンコントロールは印刷されません。このことは覚えておくと便利
です。
ツールバーボタン
ボタンの画像を作成する
ツールバーを作成するには、まずボタンとなる画像を作成します。
ORIGINをインストールしたフォルダに「userdef.bmp」というファイルがありますので、Windows
のエクスプローラからこのファイルをダブルクリックして、開きます。
477
ORIGIN6.0
USERDEF.BMP ファイル
ツールバーボタンの画像の大きさは、16x16(ピクセル)です。このファイルには、16x16(ピク
セル)の画像が 10 個連続して作成されています。1 度に作成できるツールバーボタンは、10 個
までとなっていますので、これ以上画像を大きくして作成しても登録できません。
このファイルを修正して、別名で保存しましょう。
?
Hint
実は、ツールバーのボタンを 1 0 個以上登録することができます。それには
「OUbtn.ini」ファイルを直接、修正する必要があります。拡張子に ini とついた
ファイルは、通常設定ファイルになっていますので、壊したり、間違って修正
すると ORIGIN が動かなくなることもありますので、注意しましょう。どうして
も修正する必要がある場合には、必ずバックアップを取りましょう。
次のように修正します。ボタンの大きさは、16x16(ピクセル)ですので、それ以上大きくしな
いように作成します。慣れないうちは、図のように 16x16 の枠を作成してからアイコンを作成
します。
画像を作成
478
Chapter 8
ここでは、1 つだけ作成し、別名を付けて保存します。
「labtalk.bmp」という名前にします。
スクリプトの作成
先ほど、
ラベルボタンで使用したスクリプトと同じものをスクリプトウィンドウに記述します。
「ウィンドウ」メニューから「スクリプトウィンドウ」を選び、開いたウィンドウに次のよう
に入力します。
getfilename *.dat;
open -w %B%A;
スクリプトウィンドウの「ファイル」メニューから「新規保存」を選び、ファイル名を付けて
保存します。ファイルの種類が、OGS になっていることを確認して、
「myscr.ogs」という名前
で保存します。
スクリプトファイルの保存
ツールバーへの登録
ボタン画像ファイルの作成、スクリプトファイルの作成が終わり、いよいよツールバーに登録
します。新規ツールバーの作成とボタンの登録方法に関しては、Chapter6-13「カスタムツー
ルバ−」も参照してください。
「表示」メニューから「ツールバー」を選びます。
「ツールバーのカスタム化」ダイアログが開
きます。ここでは、標準ツールバーにボタンを登録することにします。
479
ORIGIN6.0
ツールバーダイアログ
「ツールバー」タブの「ツールバー」にある「標準」にチェックが付いていることを確認しま
す。次に「コマンド」タブをクリックします。カテゴリーの一番下にある「User Defined」を
クリックして選択します。先ほど見た画像がボタンに現れているのがわかります。
ダイアログの中ほどにある「一覧」ボタンを押し、先ほど作成した「labtalk.bmp」を選択し、
「開く」ボタンを押します。作成したボタンが現れます。
480
Chapter 8
ボタンエリアに作成した画像が
現れる
次に、作成したボタンをクリックし、
「ボタン修正」ボタンを押します。次のようなダイアロ
グボックスが現れます。
ボタンの設定ダイアログ
「ファイル名」には、先ほど作成した「myscr.ogs」を指定します。
「一覧」ボタンをクリック
すると「ファイルを開く」ダイアログボックスが開きますので、そこから選びます。
「セクション名」には、
「Main」と入力します。これは、
「custom.ogs」ファイルの[Main]セク
ションのことを表わしています。
「custom.ogs」については、ORIGIN のマニュアルを参照して
ください。
「引数リスト」は空白のままで構いません。LabTalkコマンドを実行するのに、引数が必要な場
合に指定します。
「ツールチップテキスト」には、
「LabTalk コマンド」と記述します。これは、マウスカーソル
がツールバーのこのボタン上にある時に表示されるツールヒントの文字になります。
このボタ
ンの名前を記述します。
「ステータスバーテキスト」には、
「作成した LabTalk コマンドを実行します。
」と記述します。
これは、マウスカーソルがツールバーのこのボタン上にあるときやボタンが押された時に、ス
テータスバーに表示される文章です。このボタンの説明文を記述します。
481
ORIGIN6.0
「実行コンテキスト」は、このボタンをアクティブにする条件を設定します。
「テンプレート」
を選択すると指定したテンプレートを開いている時に、
このボタンがアクティ
ブになります。
「ウィンドウ」を選択すると、チェックボックスにチェックが付いたウィンド
ウがアクティブな時にボタンもアクティブになります。ここでは、
「ウィンドウ」を選択し、
「ワークシート」だけチェックを付けましょう。
OK ボタンを押して、
「ツールバーのカスタム化」ダイアログに戻ります。ボタン領域からボタ
ンを標準ツールバーまでドラッグ & ドロップします。
作成したボタンをツールバーに
ドラッグ & ドロップ
ツールバーに登録
ワークシートをアクティブにして、登録したボタンをクリックしましょう。前半で作成したラ
ベルボタンと全く同じ動きをします。
行列ウィンドウやグラフウィンドウをアクティブにしてみましょう。
今作成したボタンが非ア
クティブな状態になるのが分かります。
482
Chapter 8
8 - 06
Chapter
デバッグ
LabTalk コマンドのデバッグ方法について解説します。
コマンドのデバッグについて
LabTalkのデバッグ機能として、ORIGIN のシステム変数 echo を利用します。システム変数echo
の設定によって、画面上に表示されるメッセージが変わります。現在設定されている echo 変
数の内容を確認する場合は、スクリプトウィンドウで「echo=(Enter キー)」としてください。
試しにスクリプトウィンドウで設定状態を確認してください。
システム変数 echo の設定によって下記の情報を得ることができます。
echo #
表 示 される情報
1
エラーを発生させたコマンドを表示します
2
遅延実行のため、キューに転送されたスクリプトを表示します
4
コマンドを含むスクリプトを表示します
8
代入演算子を含むスクリプトを表示します
16
マクロを表示します
実際デバッグに有用なものは「echo=1」です。試しに次の例でその機能を確認してみましょう。
初めに次のスクリプトを実行してください。
echo=0;
%A=ABCD;
%B=EFG;
type %A;
type %B;
この結果は「ABCD」および「EGF」という文字列が画面に表示されます。ここで、スクリプト
を次のように変更して、再度実行してください。
echo=0;
%A=ABCD;
%B=EFG;
types %A; /*type の表記が間違っています */
type %B;
結果は「#Command Error!」という文字列が表示されます。
これでは、どのコマンドにエラーが発生しているのかわかりません。
どのコマンドに間違いがあるか、システム変数 echo を使えば調べることができます。先ほど
のスクリプトを次のようにしてください。
483
ORIGIN6.0
echo=1;/* システム変数を変更 */
%A=ABCD;
%B=EFG;
types %A;
type %B;
結果は次のようになります。
Error:types %A
#Command Error!
これによりどのコマンドに間違いが発生したか分かります。
演算子のデバッグ
演算子の誤りについては特にデバッグ機能は準備されていません。ですから、コマンドエラー
以外は、次のポイントを繰り返しチェックしてください。
● ステートメント(スクリプト文)の後ろには必ずセミコロンを付ける
● 不要なセミコロンを付けていないか?特に if,define,for ループでの使用方法に
注意
● 左右のカッコの数が同じか?
● 代入演算子 = と等号 == の用法に誤りはないか?
● 置換演算子 %( )や $( )の変数の属性に不整合はないか?
● プロジェクト名やワークシート名に誤りはないか?システム変数%Hなどを利用し
て誤りを防ぎましょう。
Chapter8-01「LabTalk の基礎」でも説明したように、ORIGIN にはシステム変数が用意されてお
り、その中には%C(アクティブなデータセット名)、%H(アクティブなウィンドウ名)など便利な
ものがあります。これらを利用すれば、スクリプトウィンドウで文字の誤りを気にする必要が
なくなります。
例えば、アクティブなワークシート mydata のデータセット A の 10 行目のデータにアクセスす
る場合、
A=%(mydata,1,10)
とするよりも
A=%(%H,1,10)
とするほうが、効率的で、しかもワークシート名を間違える心配がありません。
484
Chapter 8
8 - 07
Chapter
サンプルスクリプト
LabTalk の実用的なサンプルスクリプトをご紹介します。
データのインポートと計算の実行、
そしてグラフの作成までを行うサンプルスクリプトを用意
しました。スクリプトウィンドウを使って、このスクリプトを実行してみましょう。
ここでは ASCII ファイルをインポートして、ワークシート内で演算を行い、その結果をグラフ
化します。
サンプルスクリプトを作成、
実行する前に次のようなサンプルファイルを用意しておきましょ
う。Windows に標準で付属しているメモ帳を使いましょう。
サンプルデータ
サンプルファイルができたら、次のスクリプトをスクリプトウィンドウに記述しましょう。
ただし、/*..*/ はコメント文ですから記述する必要はありません。
サンプルスクリプト
getfilename *.txt;
open -w %B%A;
/* 図のようなダイアログを開く */
/* ファイルのインポート。*/
wks.addcol();
/*%B、%A は ORIGIN のシステム変数 */
/* カラム(列)を追加 */
row=wks.nrows;
col=wks.ncols;
/* 行数を変数 row に代入 */
/* 列数を変数 col に代入 */
for(i=1;i<=row;i+=1){
%(%H,$(col),i)=(%(%H,2,i)+%(%H,3,i))/2;
/* 繰り返し処理 */
/*% 置換の機能 */
};
worksheet -s $(col) 1 $(col) $(row);
/* グラフ化するデータの選択 */
worksheet -p 202;
page -o l;
layer1.y.from=0;
/* 散布図の作成 */
/* ページをランドスケープに設定 */
/*y 軸の開始値を 0 に設定 */
integ %C;
area=integ.area;
/* アクティブデータセットを積分 */
/* 積分計算の結果を変数 area に代入 */
%A="Integration Area=$(area)";
label -s %A
/* ラベル用のテキスト作成 */
/* グラフ上にラベルを表示 */
485
ORIGIN6.0
getfilename *.txt による
ダイアログ
以上のようにテキストファイルをインポートしてグラフを作成し、
積分計算を実施するスクリ
プトを紹介しました。これを実行した結果のウィンドウは次のようになります。
スクリプト実行後の画面
グラフにグリッド線を付けたり、シンボルの色を変更したり、LabTalk スクリプトを利用すれ
ば実に様々な処理を自動化することができます。
スクリプトを記述する時のポイントを念のた
めに紹介しておきましょう。
486
1.
事前に自動化する作業を実際にメニュー操作で行ってみる。
2.
3.
4.
できれば、1 行づつスクリプトを実行し、確認しながら作業をおこなう。
システム変数 echo を 1 に設定して、エラーの発生したコマンドを的確に把握す
る。
システム変数 %H、%A などを的確に利用して、短いスクリプトを書く。
5.
置換表記を利用するためにオプションを付けなければならないコマンドがある。