二変量プラットフォームを使用して、離散時間単位(2021年の第1週の202101など)にわたるデータのプロットを生成するスクリプトがあります。 使用される時間単位は交渉可能ではなく、連続として扱われると正しく間隔が空けられません。202052と202101の間の距離は、202101と202102の間の距離と同じではありませんが、これらの距離は連続する週と同じである必要があります。 私の解決策は、値1、2、3、...の「シーケンス」列を作成し、それを202052、202101、202102、....とペアにして、「シーケンス」列に値ラベルを適用することでした(1には値があります)ラベル202052、2には値ラベル202101、3には値ラベル202102)があり、「シーケンス」列を「XによるYの適合」のXとして使用します。 このソリューションは、出力をジャーナル処理する場合を除いて、美しく機能します。値のラベル付けが保持されず、ジャーナルのプロットは、値のラベルを使用する代わりに、シーケンス列の元の値に戻ります。 時々、値ラベルはジャーナルに転送されますが、保存して再度開くと、x軸の値が元の値に戻ります。 違いは、スクリプトまたはctrl + Jを使用してジャーナル(値ラベルが一時的に保持される)とコピー->貼り付けをジャーナルに使用する(値ラベルが保持されない)ことだと思います。
これを行う別の方法を見つけることができるかもしれませんし、誰かが別の方法を提案できるかもしれませんが、レポートウィンドウからジャーナルに転送されない値ラベルが意図されたJMPの動作であるかどうかを知りたいです。 この動作は、JMPの将来のバージョンで変更できますか?
JMP Pro14.3.0を使用しています。 この問題はJMPPro15.2.1でも発生することを確認しました。 以下は、問題を再現するスクリプトの例です。
// Data Table
dt = New Table( "Label Example",
Add Rows( 6 ),
New Column( "Week", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [202052, 202052, 202101, 202101, 202102, 202102] ) ),
New Column( "Sequence", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 1, 2, 2, 3, 3] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [12, 39, 9, 1, 22, 9] ) ),
New Column( "Group", Character, "Nominal", Set Values( {"A", "B", "A", "B", "A", "B"} ) )
);
week_list = :Week << get values;
sequence_list = :Sequence << get values;
week_list_names = {};
// Build the Value Labels List
For( i = 1, i <= N Items( week_list ), i++,
If( !Contains( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) ),
Insert Into( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) )
)
);
:Sequence << Data Type( Character );
:Sequence << Value Labels( week_list_names );
:Sequence << Data Type( Numeric ) << Modeling Type( Continuous );
value_by_week = Bivariate(
Y( :Value ),
X( :Sequence ),
Fit Where( :Group == "A", Fit Each Value( {Line Color( {212, 73, 88} )} ) ),
Fit Where( :Group == "B", Fit Each Value( {Line Color( {66, 112, 221} )} ) ),
SendToReport(
Dispatch( {}, "Bivariate Fit of Value By Sequence", OutlineBox, {Set Title( "Bivariate Fit of Value By Sequence" )} ),
Dispatch( {}, "1", ScaleBox, {Inc( 1 ), Minor Ticks( 0 ), Label Row( Show Major Grid( 1 ) ), Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "2", ScaleBox, {Inc( 10 ), Minor Ticks( 5 ), Label Row( Show Major Grid( 1 ) )} ),
Dispatch( {}, "Sequence", TextEditBox, {Set Text( "Week" )} )
)
);
value_by_week_rep = value_by_week << Report;
my_jrn = New Window( "Test Journal", <<JOURNAL></JOURNAL>こんにちは@drew_baumgartel 、
サンプルスクリプトを使用した場合も同じ動作が見られます。
ただし、赤い三角形に移動して新しいウィンドウで再実行を選択すると、値のラベルを確認できました。
新しいウィンドウで再実行
新しいウィンドウで再実行した後の結果
乾杯、
スタン
JMP15.2でエラーを再現しました。JMP16で修正されたようです。
面白い! それを試してみようとは思ってもみませんでしたが、「新しいウィンドウで再実行」も機能します。 この問題がJMP16で修正されたことをうれしく思います。 これは、インストールに取り掛かるまでは許容できる回避策です。 共有してくれてありがとう。