テキストラベルの置換

はじめに

ワークシートまたはマトリックスデータのグラフを作成する場合、軸のタイトルやグラフの凡例を含むほとんどの自動生成ラベルは、名前付きラベルオブジェクトにプロットメタデータを割り当てることによって作成されます。これらの名前付きラベルオブジェクトはそれぞれ、プロットのメタデータのさまざまな断片から事前定義された「空の」文字列としてグラフテンプレートに保存されます。これらのラベルへのプロットメタデータの実行時の割り当てを「置換」と呼び、「空の」文字列を作成するために使用される構文を「置換表記」と呼びます。

このページでは、名前付きラベルオブジェクト、つまりテキストツールまたはスクリプト(例:label -sl)で作成された凡例や軸のタイトル、ユーザーが追加したラベルについて説明します。プロットのデータラベルについての詳しい情報はプロットデータのラベル付けに使用される表記法と構文をご覧ください。

テキストラベルの名前

グラフ、ワークシート、またはマトリックスページのテキストラベルには、通常、GUIまたはスクリプトによって公開されるオブジェクト名があります。(軸の目盛りラベルは例外です)これらのラベルまたは「オブジェクト」には、オブジェクトのプロパティダイアログを開くことで識別できる名前が付いています:

  1. マウスでテキストオブジェクトをクリックして選択し、右クリックしてプロパティを選択します。
  2. テキストオブジェクトダイアログボックスで、プログラミングタブをクリックし、名前フィールドを確認します。

前述のように、LabTalkは、置換表記を使用したテキストラベルへのメタデータ(プロジェクト、ページ、およびデータセットの情報)の挿入をサポートしています。objectName.text$.を使用して、名前付きラベルオブジェクトが使用するメタデータの一部を返すか定義できます。

サンプル

凡例

たとえば、グラフの凡例において、次のように使用できます

legend.text$=\l(1) %(1,@LG) \l(2) %(2,@LG) \l(3) %(3,@LG);

レイヤ内の3つのYプロットのそれぞれについて、可能な場合はロングネームと単位を使用して凡例オブジェクトを作成することを指定します。

または、 legendupdate Xファンクションを使用して、同じ@LGオプションで同じ凡例を作成することもできます。

legendupdate mode:=custom custom:=@LG;


凡例の置換表記のページもご覧ください。

凡例に加えて、グラフ上の他のテキストオブジェクト名には、yl(左y軸)、xb(下x軸)が含まれるため、

yl.text$ = %(?Y,@WL);   // 左Y軸タイトル=プロットされたYのワークブックのロングネーム 
xb.text$ = %(1X,@LU);   // 下X軸タイトル= 1番目のプロットのXデータセットの単位 
yl.text$ = %(?Y,@(@LL<@LU>)); //左Y軸タイトル=プロットされたYのワークブックのロングネームの後に、<>で囲まれた単位が続きます。

%(?Y) は軸タイトルを、インデックス(1,2,...n)ではなく、事前に指定されたデータプロットインデックス(作図の詳細:凡例/タイトル:自動軸タイトルのデータプロットインデックスで設定)にデフォルトで設定する可変構文です。nはユーザが指定します。

ユーザが作成したテキストオブジェクト

次の例はさまざまな方法で作成されたユーザの凡例でデータやメタデータの置換を示します:

例1: テキストツールを使って追加およびリンクされた「text」という名前のラベルを作成し、「No. of points」という名前で列ラベル「User-parameter」行に値を表示します。

text.text$="Number of points: %([S15-125-03.dat]Trial Run 1,@LD"No. of points",2)"
AtOptions LT text label.png

例2:ワークシートまたはグラフに関連付けられたメタデータのフォーマットされたインポートファイルの日付を表示するスクリプトを介して、「filedate」という名前のラベルを追加します。

label -sl -n  filedate "File Date: $("%(Book2, @W,SYSTEM.IMPORT.filedate$)",D0)";
AtOptions LT text label ex2.png

例3:ワークシートの数値が、内部に保存されているセル値よりも低い精度で表示されることがあります。 表示精度でワークシートの値を表示する「celldigits」という名前のラベルを追加します。

label -sl -n celldigits "Col(Signal)[3] displayed value is %([Book2]Sheet3, @WL, Signal[3], W)";

内部に保存された完全精度のセル値を表示する「fullprecision」という名前のラベルを追加します。

label -sl -n fullprecision "Col(Signal)[3] full precision value is %([Book2]Sheet3, @WL, Signal[3])";
AtOptions LT text label ex3.png

置換された数値のフォーマットの詳細については、「W」および「@WL」を使用した現在の列フォーマットの戻り値を参照してください。

構文

これらの構文は、違うアプリケーションでも使用できます。場合によっては、上記のユーザーが作成したテキストオブジェクトの最後の例に示すように、表記法を組み合わせることができます。

objectName.text$= アプリケーション
%(PlotIndex[PlotDesignChar], @option)
  • PlotIndexによるデータプロットと、X、Y、ZのようなPlotDesignCharによるこのプロットの列を参照してください。この構文は、凡例と軸のタイトルに使用されます。
  • 変数「@オプション」と例は、以下の@オプションのリストにリストされています。
%([workbookName]sheetName, @WL, column[row], W)
%([workbookName]worksheetName, @option, columnNumber)
  • ワークシートの列を指定して、他のワークシートの情報を参照します。
  • 変数「@オプション」と例は、以下のワークシート情報の置換にリストされています。
%([workbookName]worksheetName!columnName,@option, varOrNodeName)


Note

任意のテキストが混在する複数の「@オプション」を組み合わせるには、次の構文を使用します。

%(PlotIndex,@(@option1(@option2...)))

例えば、

%(1,@(@LL(@LU)))// 「ロングネーム(単位)」として表示 

@Optionsの完全リスト

以下は、凡例テキストや軸タイトルなど、テキストラベルをカスタマイズするために使用できる@テキストラベルオプションの表です。サンプル式で参照されるワークシートのプロパティについては、このスクリーンショットを参照してください。

Worksheet Properties Legend Option 01.png

Note:これらの「@」ラベルオプションの多くはワークブックデータにのみ適用できますが、行列データにも適用できるものがあります。例として、この式
%(1,@W)

は、行列ブックのショートネームを返します。

@option 置換テキストの参照先
@C 列ショートネーム@LSと同様です。 %(1,@C) --> B
@D データセット名 %(?Y,@D) --> Book1_B
@GG グラフの現在のプロットのグループ名 %(2, @GG)
現在のプロットのグループ名を表示します。デフォルトのグループ名g#は空白を表示します。
@GL グラフの現在のプロットのレイヤ名 %(2, @GL)
現在のプロットのレイヤ名を表示します。デフォルトのレイヤ名Layer#は空白を表示します。
@L 列のロングネームを表示しますが、ロングネームがないときには欠損値を返します。@LLと同様です。 %(1Y,@L) --> Delta Temperature
@L,n n番目のX値 %(1,@L,2) --> 0.02
@LA ロングネーム(利用可能な場合)、それ以外ではショートネーム。 %(1,@LA) --> Delta Temperature
@LC 利用可能ならコメントを、そうでなければロングネーム、それもできなければショートネームを参照 %(1,@LC) -->
YBCO
milled
@LC[n] コメントラベル行セルのn番目の行nはオプションで@LC1=@LCです %(1,@LC2) -->milled
@LD[n] ユーザ定義パラメータのn番目nはオプションで@LD1=@LDです %(1,@LD2) -->235
@LD"name" nameによって特定されるユーザ定義パラメータ %(1,@LD"RunNo")-->07
@LF[n] データプロットのフィルタ条件複数の条件がある場合には、オプションのn=がn行目のフィルタ条件であることを示します。(リストの順番はフィルタラベル行セルで表示されています)LatTalkシステム変数@SFDもご覧ください。 Make = %(1,@LF)-->Buick

Text label options @LF.png

@LG ロングネーム(使用できない場合はショートネーム)と単位(存在する場合)。@Uと同様です。 %(1,@LG) -->Delta Temperature (K)
@LH 最初のユーザー定義パラメータの名前。 %(1,@LH) -->UserDefined
@LH[n] ユーザ定義パラメータのn番目 nはオプションで@LH1=@LHです %(1,@LH3) -->RunNo
@LL @Lと同等 %(1,@LL) --> Delta Temperature
@LM コメントの1行目(利用可能な場合)、それ以外の場合はロングネーム、またそれ以外の場合はショートネーム %(1,@LM) --> YBCO
@LN コメントの1行目(利用できない場合はロングネーム、それ以外の場合はショートネーム)と単位。@(@LM(@LU))と同様です。 %(1,@LN) --> YBCO(K)
@LP 1番目のシステムパラメータ。 %(1,@LP) --> Version 2.1
@LP[n] システムパラメータのn番目nはオプションで@LP1=@LPです %(1,@LP2) --> 12/15/2004
@LQ 1番目のユーザ定義パラメータと単位(利用できれば)を参照 %(1,@LQ) --> S21(K)
@LQ[n] n番目のユーザ定義パラメータと単位(利用できれば)を参照単位が含まれているという点で@LHとは異なります。nはオプションで@LQ1=@LQです %(1,@LQ2) --> 235(K)
@LQ"name" ユーザ定義パラメータ(nameによって決定)と単位(利用できれば)を参照 %(1,@LQ"RunNo") --> 07(K)
@LS 列のショートネーム、@Cと同等 %(1,@LS) --> B
@LU 単位 %(1,@LU) --> K
@PLE ホルダーブックロングネーム。埋め込みグラフ、行列、メモ、またはHTMLレポートのコンテナワークブックのロングネームを返します。 %(%H,@PLE)
@R データセットの範囲 %(1,@R) -->

[Book1]"Trial Run 2"!Col("Delta Temperature")[1:32]

@R1 行インデックスなしのデータセットの範囲 %(1,@R1) -->

[Book1]"Trial Run 2"!Col("Delta Temperature")

@RB プロットデータの開始行インデックス %(1,@RB) -->

1

@RE プロットデータの終了行インデックス、@RBが1であれば@RNと同じ %(1,@RE) -->

32

@RN プロットデータの合計行数(欠損値やマスクされたデータ点は除く) %(1,@RN) --> 32
@SC ホルダーシートコメント。埋め込みグラフ、行列、メモ、またはHTMLレポートのシートのコメントを返します。 %(%H,@SC)
@SN ホルダーシート表示名; Labelが存在する場合は、Labelを使用します。埋め込みグラフ、行列、メモ、またはHTMLレポートのシートの表示名またはラベルを返します。 %(%H,@SN)
@SNL ホルダーシートラベル。埋め込みグラフ、行列、メモ、またはHTMLレポートのシートのラベルを返します。 %(%H,@SNL)
@SNS ホルダーシート名。埋め込みグラフ、行列、メモ、またはHTMLレポートのシートの名前を返します。 %(%H,@SNS)
@U ロングネーム(使用できない場合はショートネーム)と単位(存在する場合)。@LGと同様です。 %(1,@U) -->Delta Temperature (K)
@V, n データプロット内にあるn番目のポイントの値  %(1Y, @V, 2) -->0.02863
@V"above"/@V"below" 曲線グラフの下の塗りつぶし領域でのみ使用します。次のデータプロットまで塗りつぶす-色の上下が選択されている場合、この表記は、ベースカーブの上/下の塗りつぶされた色を示すラベルに使用されます。

%(1, @V"above") %(1, @V"below") -->
Above B
Below B

@W ブックのショートネーム(ワークブック、行列) %(1,@W) -->Book1
@WC[n] ワークブックコメントのn番目の行nの指定がない場合には最初の行のみが表示されます。 %(1,@WC2) -->

<Origin EXE Folder>\Samples\Curve Fitting

@WL ブックのロングネーム
(ワークブック、行列)
%(1,@WL) -->S21-235-07
@WNL シートのロングネーム
(ワークブック、行列)
%(1,@WNL) -- LabTalkシステム変数@SSL参照
@WNS シートのショートネーム
(ワークブック、行列)
%(1,@WNS) -- LabTalkシステム変数@SSL参照
@WM[n] ワークシートコメントのn番目の行nの指定がない場合には最初の行のみが表示されます。 %(1,@WM) -->Data imported from
@WP プロジェクトエクスプローラー内でのブックのパス
(ワークブック、行列)
%(1,@WP) -->/Folder1/
@WS シート(ワークブック、行列)の名前 %(1,@WS) -->Trial Run 2
@WT, ColIndex/ColName, RowIndex 列番号(もしくはショートネームや行番号)で指定されたワークシートセルの値
  • %(1, @WT, 2, 3)
    1つ目のデータプロットのソースシート(ワークシート、行列)にある2列3行目のセルの値数値なので、$($(%(1, @WT, 2, 3), .2)*100)を使用して、小数点以下2桁に100を掛けた数値の文字列を取得できます。
  • %(1, @WT, B, 3)
    1つ目のデータプロットのソースワークシートにあるB列3行目のセルの値
@WT, ColIndex/ColName, ColLabelRowCharacter 列番号(もしくはショートネーム)と列ラベルの行の文字で指定されたワークシートセルの値
  • %(1, @WT, B, C)
    B[C]$と同様に、これは1つ目のデータプロットのソースワークシートにある列Bのコメントを取得します。

Note: 単位が置換テキストで表示されている場合、英語と日本語版のOriginでは単位を括弧()で囲みますが、ドイツ語版では角括弧[]を使用します。