(ヒート マップの) スケール値で変数を使用する方法こんにちは、みんな、
次の例では、例として Big Class.jmp を使用してヒート マップが作成されました。
gb=Graph Builder(
Size( 686, 525 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Color( :age ) ),
Elements( Heatmap( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
7,
Properties(
0,
{gradient( {Scale Values( [11 18] )} )},
Item ID( "age", 1 )
)
)}
)
)
);変数を使用して勾配スケールの制限を定義する方法はありますか? 私が達成したいことは次のとおりです。
gradient_low=10;
gradient_high=19;
gb=Graph Builder(
Size( 686, 525 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Color( :age ) ),
Elements( Heatmap( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
7,
Properties(
0,
{gradient( {Scale Values( matrix({<FONT face="arial black,avant garde" color="#FF0000">gradient_low</FONT>, <FONT face="arial black,avant garde" color="#FF0000">gradient_high</FONT>}) )} )},
Item ID( "age", 1 )
)
)}
)
)
);
「grandient_low」と「gradient_high」を使用してヒートマップの勾配制限を定義したいと思います。
eval() 、 eval expr() などを使用しようとしましたが、まだ機能しません。
ありがとう
自動化とスクリプト作成Re: (ヒート マップの) スケール値で変数を使用する方法あなたはできる
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gradient_low = 10;
gradient_high = 19;
gb = Eval(EvalExpr(dt << Graph Builder(
Size(686, 525),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Color(:height)),
Elements(Heatmap(X, Y, Legend(7))),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
7,
Properties(
0,
{gradient({Scale Values(Expr(Matrix({gradient_low, gradient_high})`))})},
Item ID("height", 1)
)
)}
)
)
)));
しかし、私はおそらくレジェンドサーバーを経由するでしょう
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gradient_low = 10;
gradient_high = 19;
gb = dt << Graph Builder(
Size(686, 525),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Color(:height)),
Elements(Heatmap(X, Y, Legend(7))),
);
m_gradient = Matrix({gradient_low, gradient_high})`;
server = gb << Get Legend Server;
items = server << Get Legend Items;
items[1][1] << Set Properties({gradient({Scale Values(m_gradient)})});Re: (ヒート マップの) スケール値で変数を使用する方法@LatentDataTiger
ジャーモの言うことは正しい。ただし、彼はあなたの例に気付かないかもしれない変更を加えています。この例では、変数 Age を Color 列として使用していますが、Jarmo はそれを Height に変更しています。違いは、Age のモデリング タイプが序数であり、Height のモデリング タイプが連続であることです。序数列では、Gradient 値が考慮されません。これを年齢に対して行うには、列のモデリング タイプを変更する必要があります。これは、元の例に指定された色のグラデーションを設定するスクリプトです。
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:age << modeling type( continuous );
gradient_low = 10;
gradient_high = 19;
Eval(
Eval Expr(
gb = Graph Builder(
Size( 686, 525 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Color( :age ) ),
Elements( Heatmap( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
7,
Properties(
0,
{gradient(
{Scale Values( Matrix( {Expr( gradient_low ), Expr( gradient_high )} ) )}
)},
Item ID( "age", 1 )
)
)}
)
)
)
)
)
;Re: (ヒート マップの) スケール値で変数を使用する方法こんにちは、ジャーモとジム
レジェンド サーバーのテクニックを学ぶことに非常に興味がありますが、スクリプトの最後の行が機能しませんでした。 私が受け取るエラーは次のとおりです。
object not subscriptable in access or evaluation of 'items[1][1]' , items[1][/*###*/1]
最後の行をチェックするのを手伝っていただけますか
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gradient_low = 10;
gradient_high = 19;
gb = dt << Graph Builder(
Size(686, 525),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Color(:height)),
Elements(Heatmap(X, Y, Legend(7))),
);
m_gradient = Matrix({gradient_low, gradient_high});
server = gb << Get Legend Server;
items = server << Get Legend Items;
items[1][1] << Set Properties({gradient({Scale Values(m_gradient)})});
ありがとう、
レックス
Re: (ヒート マップの) スケール値で変数を使用する方法おそらくバージョンが関係している可能性があります。 JMP のどのバージョンを使用していますか? JMP17.2を使用しています。
Re: (ヒート マップの) スケール値で変数を使用する方法現在、JMP 15 と 16 を使用しています。 私は JMP 17 を持っていますが、同僚が開発したツールボックスの一部は JMP17 では動作しないため、15 と 16 を使用し続けることにしました。