変数でスプラインをフィットこんにちは、
私はユーザーがラジオボックスで選ぶことができるという伝説的な図表を作ります。
ユーザーが選択した凡例の名前は 'L1'変数として保存されます。
ユーザーが凡例から1つの値をクリックすると、この値のスプラインがより太くなるという機能を追加したいと思います。
状態ハンドラをファイルに追加して、このスクリプトを使用しようとしました。
rsh1 = test1 << Make Row State Handler( dt, rsupdate1 );
rsupdate1 =function({},
SplineSelectlist=dt:L1[dt<<GET selected="" rows=""></GET>
'fit where'状態は変数を認識しません。
私はまた 'parse'で、または 'eval'なしで、または変数を定義する前に試してみました -
mycolumn= eval(L1);
しかし、それらのどれも動作しません。
これに対する解決策があるかどうか私は聞いてうれしいでしょう。
ありがとうございました。
変数にスプラインをフィットさせるこれ以上情報が提供されていないので、私はあなたが何を必要としているかを推測しています。多分あなたはあなたのスプラインステートメントusing and expressionを作る必要があるだけかもしれません。 このスクリプトでは、1つまたは複数の凡例値を選択できます。それは使用しています:
- 凡例の選択を管理するための目に見えないサマリーテーブルのデフォルトのリンク。この見えないテーブルは、二変量が閉じられると閉じられます。
- 前のスプラインを消去し、凡例から選択されたものだけを表示するrowstateハンドラ関数です。
- JMP14.1とJMP13.21でテストされています。

Names Default to Here(1);
dt0 = Open("$sample_data/SATByYear.jmp");
//create a smaller table too many groupings
dt0 << Select Where( :Region=="Plains" | :Region=="South");
dt = dt0 << Subset(All Columns, Output Tablename("SomeStates"));
close(dt0,NoSave);
//change Year from Ordinal to Continuous to create a Bivariate report
dt:Year << Set Modeling Type("Continuous");
//The legend column is hardcoded. It seemed like you know how to do that.
//I created a new column just for interest
gCol = dt << New Column("Region_State", character);
gcol << set each value( substr(:Region,1,1) || "_" || :State);
dt << Color by Column(:Region);
//Create the Bivariate report
biv = dt << Bivariate( Y(:SAT Math), X(:Year) );
//Add a row legion for the legend column. For your script you woudl have to remove the
//previous legend and add a new one.
rbiv = Report(biv);
fb = rbiv[FrameBox(1)];
//You would likely change both color and symbol, just made it different for interest
fb << Row Legend(:Region_State, color(0), Marker(1));
//It will be easier to create the Spline with a By group. The Summary table simplifies the task.
sumdt =dt << Summary(Group(:Region_State), Invisible);
//if the biv winow is closed/ close summary table
biv << On Close (Close(sumdt, NoSave)); //closes the summary table and row state handler
//Create a row state handler function, that defines the tasks when rge rowstate of sumdt changes.
f = Function({a},
_c = biv << Xpath("//IfBox[@isTrue='true']");
for(i=nitems(_c), i>=1, i--, biv << (curve[i] << Remove Fit) );
_yy = sumdt << get selected rows();
if(nrow(_yy)>0,
_xx = (sumdt:Region_State<<GET values=""></GET>
変数にスプラインをフィットさせる応答するのに十分な情報はここにはありません、そしていくつかの構文上の問題があります。
グラフにはすでにスプラインが描画されていて、選択した項目を強調表示しますか?
あなたはGraphBuilderまたは二変量(YにXを合わせる)を使っていますか?
:eval(L1)は適切な構文ではありません。
変数にスプラインをフィットさせるこんにちは、
私は同様の問題に遭遇したので、私は最初のクエリーに参加したいのですが。
各値が列名である「legand chooserボタン」を作成しようとしています。
値を選ぶとき、伝説そしてスプライン選択した値に応じて、2変量のx / yグラフが更新されます(前の凡例とスプラインは消去されます)。
しかし、私はどのようにして "fit where"関数を適応させるかを知りません。変数ここでの元のクエリで説明されているように、入力として(変数は選択された列名です)。
ありがとう、Hadar
変数にスプラインをフィットさせる @vsr あなたの仕事は @しろの仕事 @しろ別のスプラインにフィットするために必要値 1列の。
私が提供した例を見てください、示されている曲線は異なるために異なります値の:州。
あなたの説明から、あなたは違うものが欲しいようです列、 1つの列の異なる値ではありません。選択している場所に合わせる値選択した列の 具体的にあなたがやろうとしていることについてのさらなる詳細なしで、私は推測することができるだけです。
私は、あなたは違うYや違うX、つまり列をプロットしたいと思うかもしれないと思います。そのような場合、JMPには列スイッチャーと呼ばれる組み込みのソリューションがあります。 念のため、それがあなたが必要としているものです、私はスクリーンショットとスクリプトの例を提供しました。 これがあなたが必要としているものではない場合は、詳細を記入してください。

Names Default to Here(1);
dt = Open("$sample_data/TechStock.jmp");
biv = dt << Bivariate(
Y( :Name( "Adj. Close*" ) ),
X( :Date ),
Fit Spline( 10, {Line Color( {212, 73, 88} )} ),
Column Switcher(
:Name( "Adj. Close*" ),
{:Open, :High, :Low, :Close, :Name( "Adj. Close*" )}
)
);
//select a Y column one at a time or select the "play/go" button and JMP will cycle thru all columns