你好,
我使用 For 循环创建图形大小 (800,800) 并添加到同一窗口。 当仅针对一张图测试脚本时,大小是正确的。 当在单个窗口中添加多个图形时,它会自动调整y,并且太窄而无法查看数据。
您能否建议在添加到单个窗口时如何修复图形大小?
谢谢。
nw= New Window("Report");
For(j = 1, j <= nitems(mylist) , j++,
prod_list = mylist[j];
Gr1 = expr (Data Table(" Rej Rate "||prod_list) << Graph Builder(
Size( 800,800 ),
.
.
);
nw << Append (Hlistbox(Gr1));
); // end for mylist loop<BR />@msharp我创建了新帖子作为您的评论。 谢谢。
另一个解决方案是添加:
Fit To Window("off")
作为 Graph Builder() 命令的一部分。默认情况下,图形生成器会自动决定是随窗口拉伸还是保持恒定大小。我认为解决方案是@msharp提供更改自动拉伸行为。我实际上不确定为什么这会改变事情 - 这可能是您正在解决的一个错误。
Akane,尝试将其附加到列表框,而不是直接附加到窗口。这应该可以解决你的问题。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window("Dashboard", hlb = hlistbox()); //vlistbox if you want it vertical
for(i=1, i<10, i++,
g = expr(dt << Graph Builder(
Size( 800, 800 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :age ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
));
hlb << Append(g);
);
此外,最好的做法是将数据表引用存储在变量中并调用它,而不是按名称调用数据表。
所以....
//Bad Practice
mylist = {"name1", "name2"};
For(j = 1, j <= nitems(mylist) , j++,
prod_list = mylist[j];
Gr1 = expr (Data Table(" Rej Rate "||prod_list) << Graph Builder(
Size( 800,800 ),
//Good Practice
mylist = {dt1, dt2};
For(j = 1, j <= nitems(mylist) , j++,
dt = mylist[j];
Gr1 = expr (dt << Graph Builder(
Size( 800,800 ),