Contour Plot Platform での色の反転複数の列を反復処理して等高線図を生成するスクリプトがあります。
列の値が負の場合、輪郭の色を反転させたいので、次のような変数を設定します。
if(col mean( col1 ) < 0, revcols = 1, revcols = 0);
Contour Plot(
...
Reverse Colors( revcols ),
...
ただし、私が抱えている問題は、等高線図が常に逆になっていることです。revcols の値を無視しているようです。
ハードコードすると
Reverse Colors( 0 )
色は反転しませんが、revcols = 0 の場合は反転します。
この場合、値が 0 の変数をゼロとして扱うようにするために何か賢いことをする必要がありますか?
ありがとう!
Re: Contour Plot プラットフォームで色を反転するここに私のシステムで動作する回避策があります
Clear Globals();
rev = 1;
Eval(
Substitute(
Expr(
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 1 ),
Label Contours( 0 ),
__reverse__,
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) ),
SendToReport(
Dispatch(
{},
"Contour Plot for age",
OutlineBox,
{Set Title( "Contour Plot for age, with rev = " || Char( rev) || " using substitute" )}
)
)
)
),
Expr( __reverse__ ), If(rev==1,parse("Reverse Colors( 1 )"),parse("")))
);Re: Contour Plot プラットフォームで色を反転する提案していただきありがとうございますが、まだ運がありません。 私はこれを試しました:
// Code as run
Clear Globals();
rev = 0;
Eval(
Substitute(
Expr(
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 1 ),
Label Contours( 0 ),
Reverse Colors( __reverse__ ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) ),
SendToReport(
Dispatch(
{},
"Contour Plot for age",
OutlineBox,
{Set Title( "Contour Plot for age, with rev = " || Char( __reverse__ ) || " using substitute" )}
)
)
)
),
Expr( __reverse__ ), rev
)
);ただし、チャートはまだ反転した色で出てきました。 チャートからスクリプトを保存すると、次のようになります。
// code from Save Script
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 1 ),
Label Contours( 0 ),
Reverse Colors( 1 ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) ),
SendToReport(
Dispatch(
{},
"Contour Plot for age",
OutlineBox,
{Set Title( "Contour Plot for age, with rev = 0 using substitute" )}
)
)
);ご覧のとおり、__reverse__ の値はタイトル テキストに正しく代入されていますが、何らかの理由でまだ
Reverse Colors( 1 )
これはバグですか?回避策はありますか?
ご協力いただきありがとうございます!
Re: Contour Plot プラットフォームで色を反転するコードを Substitute 構造に変換してみてください。これにより、rev の値がハードコードされているかのように JMP に表示されます。
rev = 1;
Eval(
Substitute(
Expr(
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Reverse Colors( __reverse__ ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) )
)
),
Expr( __reverse__ ), rev
)
);Re: Contour Plot プラットフォームで色を反転するお返事をありがとうございます! MacOS 10.14.6 で JMP 14.2.0 を使用しています。
スクリプトを試しましたが、まだ同じ問題が発生しています。 これをスクリプトに追加したので、正しい出力が得られると確信していました。
SendToReport(
Dispatch( {}, "Contour Plot for age", OutlineBox, {Set Title( "Contour Plot for age, with rev = " || Char( rev ) )} )
)グラフは次のようになります (わかりやすくするために輪郭も塗りつぶしました)。


前と同じように、ハードコードすると
Reverse Colors( 0 )
次に、これを取得します(これは正しいです):

お役に立てれば。 ありがとう!
Re: Contour Plot プラットフォームで色を反転する以下のスクリプトを JMP 12 と JMP 15 で実行しましたが、どちらもエラーなく動作しました。詳細をお知らせいただければ、問題に取り掛かることができるかもしれません。
rev=1;
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Reverse Colors( rev ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) )
)
テストには Big Class サンプル データ テーブルを使用しました。