JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですこんにちは、
私のJSLコードでは、
dtt<
表を見ると、ラベルアイコンが「skew」の横に追加されているのが分かります。グラフビルダーを使っていて、そのルーチンの中で、
ラベルを表示(1)
しかし、プロット生成時にラベルが表示されません。何か他に何か追加する必要があるでしょうか?
どうもありがとう
自動化とスクリプトRe: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要です通常、左側のラベルセクションからラベルを有効にします(これはプロットタイプによって異なる場合があります)。

グラフビルダーに満足したら、スクリプトをコピーします
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Cities.jmp");
dt << Set Label Columns(:City, :State);
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:Longitude), Y(:Latitude)),
Elements(Points(X, Y, Legend(3), Label("Label by Row")))
);
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですコントロールパネルでラベルをアクティブ化する必要があります。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
:name<< Label( 1 ); // no effect, label is already activated by default for this column
Graph Builder(
Size( 451, 447 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Label( "Label by Row" ) ), Smoother( X, Y ) )
);

Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要です-
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですアドバイスありがとうございます。残念ながらまだうまくいきません。JSLで該当の行を太字で強調表示しました。
dtt<
要約します(dtt、byGroup0 = by(:layout));
要約( dtt, byGroup1 = by( :Label ));
要約( dtt、 byGroup2 = by( :Vt_flavor));
要約( dtt, byGroup3 = by( :Z_width));
(nn =1, nn <= N 項目 (byGroup0) の場合)、nn++、
( ii = 1, ii <= N Items( byGroup1 ) )の場合、 ii++、
( jj = 1, jj <= N 項目( byGroup2 ) )の場合、jj++、
( kk = 1, kk <= N Items( byGroup3 ) )の場合、kk++、
dtt << where(:Label == byGroup1[ii] & :Vt_flavor == byGroup2[jj] & :Z_width == byGroup3[kk] & :layout == byGroup0[nn] );
//show(ii,jj,kk,bygroup1[ii],bygroup2[jj],bygroup3[kk]);
sel = dtt << 選択された行を取得;
もし(n行(選択) > 0,
//show("inside",ii,jj,kk);
dt = dtt << subset( 選択された行(1), 選択された列(0));
gb = dt << グラフビルダー(
サイズ(266, 228)
コントロールパネルを表示(0)
変数( X( :nmos ), Y( :pmos ), オーバーレイ( :PDK ) ),
要素(ポイント(X,Y,凡例(5),ラベル("行によるラベル"))),
ラベルを表示(1)
レポートに送信(
急送(
{},
「nmos」、
スケールボックス、
{ラベル行(
{主グリッドを表示( 1 )、副ラベルを表示( 1 )、副グリッドを表示( 1 )}
)}
)、
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですできるだけ短いコードを生成していただけますか。
データテーブルの読み込みから始めます。例:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
以下の方法で投稿してください:

質問に対する役立つ回答を素早く入手
正しい質問に素早く正しい答えを得る
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要です愚かな質問をしてしまい、誠に申し訳ございません。「ラベルをアクティブ化する」とはどういう意味でしょうか?データベースでJSLを実行しているだけで、GUIをクリックしてアクティブ化しているわけではありません。列を「skew」というラベルに設定し、ご提案いただいた「Label by row」を追加すれば動作するはずだと思います。JSLスクリプトのアクティブ化部分(GUIをクリックする部分ではない)について、詳しく説明していただけますか?ありがとうございます。
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですまた、数百のプロットを生成しているので、クリックによるアクティブ化は私の目的には適していません。ありがとうございます。
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですコードを共有していただければ確認させていただきます...
JMP を賢く/楽に使う方法:
GUI を使用して、JMP にコードを生成させます。
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですJSLコードと関連データテーブルを添付しました。また、グラフのサイズはコードではSize(266,228)としているにもかかわらず、常にSize(1401,909)となってしまいます。この点についてもご確認いただければ幸いです。お時間をいただき、ご協力いただきありがとうございました。
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですGUIを使ってスクリプトを作成するということは、一度スクリプトを作成し、それをコピーして、JMPが生成したJSLを今後使用するということです。JMPがこれらのスクリプトを適切に作成できる場合(プラットフォームの実行時など)、JMPは最高のJSLスクリプターと言えるでしょう。
問題についてですが、まずは単一のグラフの問題を解決してください(ループを削除し、サブセットを1つだけ使用してください)。それが意図したとおりに動作するようになったら、ループを追加してください。デバッグがはるかに簡単になります。1つのグラフを実行すると、次のような結果になります。

問題はグラフィックスクリプトにあるのではないかと思います。その中で何をしようとしているのか、よく分かりません。
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですコードをそのまま使用しましたか、それとも何か変更しましたか?
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですNames Default To Here(1);
dtt = Open("$DOWNLOADS/output_sorted_test.jmp");
dtt << Set Label Columns(:skew);
Summarize(dtt, byGroup0 = by(:layout));
Summarize(dtt, byGroup1 = by(:Label));
Summarize(dtt, byGroup2 = by(:Vt_flavor));
Summarize(dtt, byGroup3 = by(:Z_width));
nn = 1;
ii = 1;
jj = 1;
kk = 1;
dtt << select where(:Label == byGroup1[ii] & :Vt_flavor == byGroup2[jj] & :Z_width == byGroup3[kk] & :layout == byGroup0[nn]);
sel = dtt << get selected rows;
If(N Rows(sel) > 0,
dt = dtt << subset(selected rows(1), selected columns(0));
gb = dt << Graph Builder(
Size(266, 228),
Show Control Panel(0),
Variables(X(:nmos), Y(:pmos), Overlay(:PDK)),
Elements(Points(X, Y, legend(5), Label("Label by Row"))),
Show labels(1),
SendToReport(
Dispatch({}, "nmos", ScaleBox, {Label Row({Show Major Grid(1), Show Minor Labels(1), Show Minor Grid(1)})}),
Dispatch({}, "pmos", ScaleBox, {Label Row({Show Major Grid(1), Show Minor Labels(1), Show Minor Grid(1)})}),
Dispatch({}, "Graph Builder", FrameBox,
{Marker Size(6), Add Graphics Script(
6,
Description(""),
Summarize(dt, byGroup = by(:PDK));
colorList = {"Blue", "red", "Green", "Green"};
Fill Pattern([0]);
For(i = 1, i <= N Items(byGroup), i++,
Pen Color(colorList[i]);
theRows = dt << get rows where(
:PDK == byGroup[i] & :skew != "tttt" & :skew != "ff" & :skew != "fs" & :skew != "sf" & :skew != "ss"
);
If(Word(2, byGroup[i], "/") == "a",
Line Style("Dashed"),
);
theRows = theRows |/ theRows[1];
xMatrix = :nmos[theRows];
yMatrix = :pmos[theRows];
Line(xMatrix, yMatrix);
);
), Add Text Annotation(
Text(byGroup1[ii] || "_" || "Z" || byGroup3[kk] || "_" || bygroup2[jj] || "_" || bygroup0[nn]),
Background Color("White"),
Filled(0),
Font("Segoe UI", 14, "Plain")
)}
)
)
);
);
Write();
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですこれはとても奇妙です。1つのプロットで試してみましたが、なぜかラベルが表示されません。あなたのコードをコピーして実行してみましたが、ラベルは表示されませんでした。以下は1つのプロットから取得した結果ですが、ご覧の通り、行ごとのラベルが表示されません(期待通り)。追加してスクリプトを再実行しましたが、結果は同じで、ラベルは表示されません。
Graph Builder(
Size( 1430, 909 ),
Show Control Panel( 0 ),
Variables( X( :nmos ), Y( :pmos ), Overlay( :PDK ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch( {}, "nmos", ScaleBox,
{Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 ), Show Minor Labels( 1 )} )}
),
Dispatch( {}, "pmos", ScaleBox,
{Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 ), Show Minor Labels( 1 )} )}
),
Dispatch( {}, "Graph Builder", FrameBox,
{Marker Size( 6 ), Marker Drawing Mode( "Normal" ),
Add Graphics Script(
5,
Description( "" ),
Summarize( dt, byGroup = by( :PDK ) );
colorList = {"Blue", "red", "Green", "Green"};
Fill Pattern( [0] );
For( i = 1, i <= N Items( byGroup ), i++,
Pen Color( colorList[i] );
theRows = dt << get rows where(
:PDK == byGroup[i] & :skew != "tttt" & :skew != "ff" & :skew != "fs" & :skew != "sf" &
:skew != "ss"
);
If( Word( 2, byGroup[i], "/" ) == "a",
Line Style( "Dashed" )
);
theRows = theRows |/ theRows[1];
xMatrix = :nmos[theRows];
yMatrix = :pmos[theRows];
Line( xMatrix, yMatrix );
);
), Add Text Annotation(
Text( "cgate_per_um_Z120_dev1_s9999019999d9999019999" ),
Fixed Size( 0 ),
Text Box( {87, 62, 341, 134} ),
Background Color( "White" ),
Font( "Segoe UI", 14, "Plain" ),
Filled( 0 )
)}
)
)
)
注: TXNELSON による読みやすさを向上させるために、JSL を JSL オブジェクトにコピーしました。
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですあなたが貼り付けたスクリプトは私が持っているスクリプトと同じではありません
Elements(Points(X, Y, legend(5), Label("Label by Row"))),
Show labels(1),
あなたがそうしない
Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要です試してみました(下記スニペット)。それでもグラフにラベルが表示されません。何が問題なのかわかりません。ありがとうございます。

Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要です正直に言うと、何が問題なのか全く分かりません。私が提供したスクリプトを実行すると(ウィンドウのサイズを少し変更して)、JMP18でこのエラーが発生します。

JMP19では

Re: JSL コーディングのデバッグ - 「ラベル」に関するヘルプが必要ですJMPのバージョンを更新して、改善するかどうか確認してみます。よろしくお願いいたします。