二変数関数に "by"を追加した場合、なぜ軸ボックスのスクリプトが機能しないのでしょうか。こんにちは、
ガイドのサンプルスクリプトを試してみたところ、2変量プロットでbyを追加すると、jslを使用して軸を操作できないことがわかりました。これに対する回避策はありますか?ありがとう。
動作するサンプルスクリプト:
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( X( :height ), Y( :weight ), FitLine );
rbiv = biv << report;
xaxis = rbiv[axis box( 2 )];
yaxis = rbiv[axis box( 1 )];
xaxis << Axis Settings( Show Major Grid( 1 ) );
yaxis << Axis Settings( Decimal( 10, 3 ) );
機能しないサンプルスクリプト。プロットは出力されますが、軸は変更されません。
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( X( :height ), Y( :weight ), by(:sex), FitLine );
rbiv = biv << report;
xaxis = rbiv[axis box( 2 )];
yaxis = rbiv[axis box( 1 )];
xaxis << Axis Settings( Show Major Grid( 1 ) );
yaxis << Axis Settings( Decimal( 10, 3 ) );
ありがとう、
シェイラ
再:二変数関数に "by"を付け加えるとどうして軸ボックスのスクリプトがうまくいかないのですか? @txnelson 、ありがとう!解決策はきちんとしていて、私はついに問題を理解しました。
再:二変数関数に "by"を付け加えるとどうして軸ボックスのスクリプトがうまくいかないのですか?問題は、By(:sex)設定で2つの異なるグラフが作成されていることです。 コードを実行してチャートを作成した後に "biv"の値を表示すると、これがわかります。 チャートの非Byバージョンに "biv"を表示すると、"biv"の値は次のようになります。
{Bivariate[]}
Byバージョンの後に "biv"の値を表示()すると、次のようになります。
{Bivariate[], Bivariate[]}
チャート出力は2セットあります。 したがって、これはコード内で処理する必要があります。 以下のスクリプトはこれを行う1つの方法を示します。
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( X( :height ), Y( :weight ), by(:sex), FitLine );
For(i=1,i<=N items(biv),i++,
rbiv = (biv << report)[i];
xaxis = rbiv[axis box( 2 )];
yaxis = rbiv[axis box( 1 )];
xaxis << Axis Settings( Show Major Grid( 1 ) );
yaxis << Axis Settings( Decimal( 10, 3 ) );
);