グラフに曲線を描いてみようとしています。ただし、その曲線は、変数のセットによっては異なります。ローカルデータフィルターで選択されたものに基づいてyfunction()を変更する良い方法があるかどうか疑問に思っています。たとえば、年齢を12歳から13歳に変更する場合、正弦波などの代わりに正弦波が必要です。
注:これはJMPライブ用であるため、フィルター変更ハンドラーはそこでは機能しないと思います。私はもともと、それぞれを個別に変数で描画してそれらすべてをプロットしていましたが、それはJMPライブでも機能せず、理由がわかりません。
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt << Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 43 ) ), Smoother( X, Y, Legend( 44 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == 12 ),
Display( :age, N Items( 6 ) )
)
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 47.4910973084886 ), Max( 78.4293207137927 ), Inc( 5 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 43.4685580652897 ), Max( 152.924994106993 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
5,
Description( "" ),
Pen Color( "red" );
Pen Size( 3 );
Y Function(
49.5348183760347 + 101.831529865667 / 2 * (1
+Sine( (2 * Pi() * (x - 50)) / 16.6 )),
x
);
)}
)
)
);
ジャーナリングを気にしないのであれば、この目標は簡単です。 Y Function()の呼び出しでユーザー関数を使用し、GraphBuilderの起動外で定義するだけです。 次に、データフィルターで状態ハンドラーを使用して新しい関数を定義し、フレームボックス<< Reshowを送信します。
ジャーナルを作成する必要がある場合は、変数を使用しないでください。 その場合、リテラル値のみを使用するグラフィックスクリプトを追加し、フィルターに基づいて新しいスクリプトを削除して追加します。
楽しむ!
それはJMPライブでは機能しませんが?私が見てきたことから、JMPライブは本当にスクリプトが好きではありません。どちらにせよやってみます。
Craige さんの言う通りです。現時点では、任意の JSL スクリプトの実行はサポートされていません。
作成したレポートが JMP Live でサポートされているかどうかを確認する方法の 1 つは、JMP Live に公開し、JMP Live の詳細パネルからキャプチャされたスクリプトをダウンロードすることです。このスクリプトを、実行に必要なテーブル (これらもダウンロードできます) とともに実行すると、JMP Live でレポートが更新または再生成された場合に表示される内容が JMP に表示されます。
この操作は、コンテンツをダウンロードして JMP でさらに詳しく調べる他の JMP ユーザーと共同作業を行う場合にも役立ちます。
これが役に立つことを願います。
~ジョン