感谢您详细提供的示例,所有问题(Q1,Q2)都已解决。
theList = {9, 10, [-1, -1, -1, -1]}; <BR />mat = Shape( Matrix( Index(<FONT color="#FF0000"> 0,</FONT> N Items( uni_bat ) - 1 ) ), <BR />N Items( uni_bat ) ) |/ [-1, -1, -1, -1, -1, -1, -1, -1];
如上所述,在您给我的脚本中,我可以通过在 N 项前面添加 0 来使结果完全符合我的要求。
再次感谢吉姆的友好回答!!!
请小心COVID19!
您可以生成图例位置的动态部分并构建所需的列表
Names Default To Here( 1 );
uni_bat = {a, b, c, d};
theList = {9, 10, [-1, -1, -1, -1]};
mat = Shape( Matrix( Index( 1, N Items( uni_bat ) - 1 ) ), N Items( uni_bat ) - 1 ) |/
[-1, -1, -1, -1, -1, -1, -1, -1, -1,-1, -1];
insert into(theList, mat, 2);
show(theList);
然后将其插入到 Legend Position 消息中,如下面的简化示例所示
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :height ),
Y( :weight ),
Overlay( :sex )
),
Elements(
Points( X, Y, Legend( 3 ) ),
Smoother( X, Y, Legend( 4 ) )
)
);
theList = {3, 4, [2, 1]};
mat = [4,3];
insert into(theList,mat,2);
eval(parse("Report( gb )[LegendBox( 1 )] << Legend Position( "||char(theList)||" );"));您尝试修改的 JSL 代码可以使用发送到 Legend Box() 消息的消息更轻松地处理。下面是脚本索引中的条目,它给出了修改图例位置的示例。使用此方法,您的 IF() 语句结构将按照您在示例中假设的方式工作。

去
帮助=>脚本索引
访问上述显示