オンエアの動画を見て、縦線とコメント(注釈)を含めた管理図を考えてみました。 行は取得しましたが、コメントはすべて台無しです。 私は多くのことを試しましたが、成功しませんでした。 添付ファイルとコードをご覧になり、問題が何であるか教えていただけますか?
@セブネム、
行と列への参照ではなく、縦線とテキストの埋め込み値を持つスクリプト (式) を作成する方法は複数ありますが、
式のJSL関数[Substitute()、NameExpr()、EvalExpr()、Expr()]と、テキストをJSL式に変換するJSL文字関数[Concat()、ConcatTo()、Eval Insert()、およびParse]は、学び。
cc= Control Chart(
Sample Label( :TestDate ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Avg, Individual Measurement )
);
rcc = report(cc);
scrp = Expr(Add Graphics Script(3,
Description( "PM Labels" )));
//get y placement = axis max - 0.5* axis inc
ypos = (rcc[AxisBox(1)]<< Get Max) - 0.5* (rcc[AxisBox(1)] << Get Inc);
txtcmd = "";
For Each Row(
If( Is Missing( :comment ) == 0,
txtcmd ||= EvalInsert("\[
V Line( ^Row() -1^ );
Text(
//Right Justified,
{ ^Row() - .75^, ^ypos^},
"^:comment(Row())^");]\")
)//end if
); //end for each row
show (txtcmd ); //see log
InsertInto(scrp, Parse(txtcmd));
show (scrp ); //see log
txtxp = Substitute(Expr(rcc[FrameBox(1)] << cmd), Expr(cmd), NameExpr(scrp));
Show(NameExpr(txtxp));
Eval(txtxp);
For Each Row() を使用する代わりに、 idx= dt << get rows where ( !Is Missing( :comment ) ) を使用して、コメント付きの行の小さなリストを見つけることができます。

@セブネム、
私はあなたのスクリプトを使用しました。 主な問題は 2 つあります。JMP 管理図は X 軸にシーケンスを使用し、TestDate はラベルの定義に使用されます。したがって、ラベルの x 位置は、垂直線と同じように Row() - 1 である必要があります。 Right Justified をコメントアウトし、マイナス 0.75 を使用してラベルを垂直線のすぐ右に配置しました。Right Justified のコメントを削除し、Row() - 1 にして、ラベルが垂直線の左側に表示されるようにします。
2 番目のエラーは y 位置です。 1.2*Col Maximum(:Avg) の倍率は > 1500 です。ダミー値を追加しました。Col Max(:Avg) +0.10 * Col Std Dev(:Avg) と考えてください。
あなたの問題は x と y pos でした。これは、列情報を使用してコメントを追加する簡単な方法です。 ただし、これはテーブルが開いているときのログにすぎません。
結果のグラフをジャーナル処理し、データ テーブルと管理図レポートを閉じて、管理限界の線幅の変更などの更新を行ったとします。行とコメントの両方が消えます。または、ジャーナルを保存して別のセッションに送信したり、新しいセッションで開いたりすると、再びラベルと行が失われます。
これらの行とテキストを維持するには、データ テーブルへの参照ではなく、値を使用する必要があります。値と参照を使用する 2 つ目のスクリプトを追加します。しかし、これはスクリプトの何が問題だったのかを示しているはずです。
Control Chart(
Sample Label( :TestDate ),
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Avg, Individual Measurement ),
SendToReport(
Dispatch(
{"Individual Measurement of Avg"},
"IR Chart of IM",
FrameBox,
{Add Graphics Script( 2, Description( "Script" ), Empty() ),
Add Graphics Script(
3,
Description( "Script" ),
For Each Row(
If( Is Missing( :comment ) == 0,
V Line( Row() - 1 )
)
);
For Each Row(
If( Is Missing( :comment ) == 0,
Text(
//Right Justified,
{Row()-0.75, Col Maximum( :Avg )+ 1.005},
:Comment
)
)
);
), Grid Line Order( 5 ), Reference Line Order( 6 )}
)
)
);