在JSL中绘制渐变颜色,如何使用变量来表示具体参数?例如,最大和最小值:
{gradient({Scale Values([200000 0 -200000])})}MX= 200000
百万=-200000
{gradient({Scale Values([ma 0 -ma])})}</CODE></P><P><CODE class=" language-jsl">
自动化和脚本编写Re: 在JSL中绘制渐变颜色,如何使用变量来表示具体参数?这是我处理这个问题的老派方法:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt << Treemap( Categories( :city ), Sizes( :POP ), Coloring( :CO ) );
treemapGBPref = Get Platform Preference( treemap( "Use Graph Builder" ) );
prefVal = Arg( Arg( Arg( treemapGBPref, 1 ) ) );
mx = 20;
mn = 1;
report = obj << report;
Eval(
Parse(
"report << Dispatch(
{},
\!"400\!",
ScaleBox,
{Legend Model(
1,
Properties(
0,
{gradient( {Scale Values( ["
|| Char( mn ) || " " || Char( mx ) || "] )} )},
Item ID( \!"CO\!", 1 )
)
)}
);"
)
);
当所有其他方法都失败时,此方法始终有效。你需要学习它并将其放入你的工具箱中。
Re: 在JSL中绘制渐变颜色,如何使用变量来表示具体参数?谢谢吉姆!
{gradient( {Scale Values( ["
|| Char( mn ) || " " || Char( mx ) || "] )} )}
Re: 在JSL中绘制渐变颜色,如何使用变量来表示具体参数?作为替代方案,您可以在命令之外创建矩阵并通过以下方式使用它名称表达式(范围)
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt << Treemap( Categories( :city ), Sizes( :POP ), Coloring( :CO ) );
range = [1 20];
(obj << Get Legend Server()) << Legend Model(
1,
Properties(
0,
{gradient( Scale Values( Name Expr( range ) ) )}
)
);