我目前正在Application Builder中制作JMP应用程序。我很困惑为什么我的图表会在Graph Builder中自动调整,但是当我将它们拖到Application Builder中时,无论我设置什么设置,它们都不会。我在图形构建器中创建了5个图表,并将它们放在分割器中的仪表板中。我希望应用程序打开时图形自动适应窗口,以便用户可以根据自己的喜好调整分割器,图形也会重新调整。每当我将这些图表中的每一个分开时,它们都会自动伸展完美。但是,当我将它们放入仪表板时,所有图形总是默认为“保持纵横比”:

例如,这是我的第一张图的代码:
Report8 = Platform(
DataTable1,
Graph Builder(
Size( 276, 205 ),
Fit To Window( "Auto" ),
Show Control Panel( 0 ),
Categorical Color Theme( "JMP Default" ),
Spacing Borders( 1 ),
Variables( X( :Priority ) ),
Elements(
Pie( X, Legend( 2 ), Label( "Label by Value" ) ),
Caption Box( X, Legend( 3 ) )
),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Priority Pie Chart" )}
),
Dispatch(
{},
"",
NoCloneBox,
{Visibility( "Visible" )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Priority Distribution" )}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} ),
Dispatch(
{},
"400",
LegendBox,
{Set Title( "Priority Coloring" )}
)
)
)
);
如您所见,我尝试将“适合窗口”设置为“自动”。最初,应用程序构建器编写了“保持纵横比”,但我将其替换为“自动”,它仍然默认为“维持纵横比”。
在此处初始化报表时,我还尝试将“适合窗口”设置为“自动”:
Report8 << Fit To Window( "Auto" );
Report8 << Background Color( 2147483647 );
Report8 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
Report8 << Enabled( 1 );
Report8 << Horizontal Alignment( "Default" );
Report8 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
Report8 << Padding( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
Report8 << Text Color( 2147483647 );
Report8 << Vertical Alignment( "Default" );
Report8 << Visibility( "Visible" );
Report8 << set horizontal( 0 );
这似乎也不会影响图形设置。有谁知道我做错了什么?或者它应该以这种方式工作?
如果有人对上面的非SAS员工的反应感到困惑,那是因为这这个由SAS员工创建的主题最初发布在Discussions论坛上。我把它搬到这里作为员工问题的更合适的地方。
你好 @BenLu ,
我认为自己对JSL非常好,并且我已经构建了很多用户界面,但是我发现JSL中的大小调整是不直观和令人沮丧的。 我发现,每当我尝试使用消息来调整显示对象的大小时,它们都无效,并且日志中没有任何帮助。 与自动拉伸有关的任何事情都同样困难。 如果JMP的专家能够通过JSL编写关于调整大小和设置自动拉伸的非常好的技术说明,我认为这对我们很多人来说非常有帮助。