你好,
我想用 JSL 生成报告(.ppt)。
我想导出 2 个图表:5 个组和 3 个组。
我希望每组图的面积为 250*250,所以 5 组图的面积应为 1250*250,3 组图的面积应为 750*250。
我使用“保存演示文稿”功能导出图表。
5组图的大小与我手动导出的图的大小相同,但3组图的大小不同。3组图的大小被压缩了,只有75%。
如何导出多个比例尺和分辨率相同的图表?
NonLeakage_graph = dt << Graph Builder(
Size( 1250, 250 ),
Variables( X( :Lot ), Y( :drift% ), Group X( :Label ), Color( :Lot ) ),
Elements( Box Plot( X, Y, Legend( 1 ) ) ),
By( :Rel_Test ),
SendToReport(
Dispatch( {}, "drift%", ScaleBox,
{Format( "Percent", 12, 0 ), Min( -0.25 ), Max( 0.25 ), Inc( 0.05 ),
Minor Ticks( 0 ), Add Ref Line( 0.2, "Solid", "Red", "20%", 1 ),
Add Ref Line( -0.2, "Solid", "Red", "-20%", 1 )}
)
)
);
NonLeakage = NonLeakage_graph << Report;
save_path = "D:\Reliability Qual\reliability report template\jmp_example.pptx";
For( i = 1, i <= N Items( NonLeakage ), i++,
If( File Exists( save_path ),
NonLeakage[i] << Save Presentation( save_path, Append );
,
NonLeakage[i] << Save Presentation( save_path );
)
);
NonLeakage << Close Window;
dt << Clear Row States;
dt << Select Where( (Contains( {"0cyc", "0hrs"}, :ReadPoint )) | (!Contains( {"IGSS", "IGSSR", "IDSS"}, :Label )) );
dt << Hide( 1 ) << Exclude( 1 );
dt << Clear Selection;
dt << Select Where( (!Contains( {"0cyc", "0hrs"}, :ReadPoint )) & (Contains( {"IGSS", "IGSSR", "IDSS"}, :Label )) );
Summarize( dt, l_groups = By( :Rel_Test ) );
Leakage_graph=dt << Graph Builder(
SendToByGroup( {:Rel_Test == "H3TRB"} ),
Size( 750, 250 ),
Variables( X( :Lot ), Y( :drift% ), Group X( :Label ), Color( :Lot ) ),
Elements( Box Plot( X, Y, Legend( 1 ) ) ),
By( :Rel_Test ),
SendToReport(
Dispatch( {}, "drift%", ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 0 ), Max( 20 ), Inc( 5 ),
Minor Ticks( 0 ), Add Ref Line( 10, "Solid", "Red", "10", 1 )}
)
)
);
Leakage = Leakage_graph << Report;
Leakage << Save Presentation( "D:\Reliability Qual\reliability report template\jmp_example.pptx",append );
你好呀,
这样行不通。在JMP里一切看起来都正常,但导出到PPT后,图表的比例尺就不一样了。
嗨@LT ,
你说的好像没错。但是,问题并不像我想的那样。
借助第一个链接中的提示,你可以取得很多成就——甚至比我写第一条回复时想象的还要多。
这段代码会创建符合指定比例的图表:
三个帧,尺寸分别为 250x250 和 750x250
以及 5 个 250x250 -> 1250x250 的帧。
将图形复制到剪贴板并粘贴到图形程序中后,可以看到所有子图的大小都相同。
代码也指出了实际问题所在:
无论 PNG 或 JPG 图像的大小如何,都可以根据一些隐藏的规则在演示文稿中进行缩放。
我担心“保存演示文稿”功能不允许用户调整这些规则。
解决方法:您可以使用脚本(例如通过 JMP 中的 Python 接口)来指定演示文稿中插入的图形的大小和位置。
或者,您也可以发送电子邮件至 support@jmp.com获取更多建议。
或许在“保存演示文稿”中有一个隐藏设置……
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
fn = "$TEMP/jmp_example.pptx"
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
rbiv << Save Presentation(fn );
For each( {selection}, {{13, 14, 15}, {13, 14, 15, 16, 17}},
Eval(
Eval Expr(
gb = Graph Builder(
Fit to Window( "Off" ),
Variables(
X( :height ),
Y( :weight ),
Group X( :age ),
Overlay( :age )
),
Elements(
Points( X, Y ),
Smoother( X, Y )
),
Local Data Filter(
Conditional,
Add Filter(
columns( :age ),
Where( :age == Expr( selection ) )
)
)
)
)
);
fb = Report( gb )[FrameBox( 1 )];
fb << Frame size( 250, 250 );
// show(fb << get size);
gb << save presentation( fn, Append );
);
Web( fn );