图形脚本在日志中报告错误你好,
我写了一个脚本来绘制控制图。 当我运行脚本时,一切都很好。 但是,当我打开带有控制图的项目时,图上出现错误“图形脚本报告日志中的错误”。

如何解决问题或隐藏问题消息?
非常感谢您的回答,祝您有愉快的一天,
让
脚本回复:图形脚本在日志中报告错误你好@说服骆驼(有趣的名字!),
我相信社区中的某个人能够提供帮助,但我认为他们可能需要更多关于您所做的事情的信息。 我不确定“带有控制图的项目”是什么意思。
谢谢,
菲尔
回复:图形脚本在日志中报告错误有时 JMP 图包含一些 JSL 脚本来绘制部分图。 如果脚本有错误,它会阻止图形的其余部分绘制。 错误消息在日志窗口中,我们需要查看它才能了解更多信息,但我猜该脚本取决于稍后不可用的变量值。
图表中的消息是这样的,您不会得到一个完全空的图表,没有提示在哪里寻找答案。
变量不可用问题的通常解决方案是使用 substitute() 或 evalexpr() 将脚本中的变量替换为变量的值。 像(未经测试...)
x = 20; y=10;
eval( evalexpr( g<<ADDGRAPHICSCRIPT></ADDGRAPHICSCRIPT>
这会生成一个图形脚本,其中硬编码 20,10 位置用于 hello 文本,并且以后不依赖于 x 和 y。
回复:图形脚本在日志中报告错误你好,
啊,是的,你是对的:我的问题是在我的代码中,我为我的变量定义了一些值,这些值用于编写文本并在我的图中画一条线。
这是我的代码的一部分,用于定义“Split - 0.5”处的垂直线和变量“row_text”和“column_text”处的文本(以粗体和下划线书写)。 问题是,当我在保存并关闭 JMP 项目后打开它时,垂直线和文本没有出现。
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{Marker Size( 4 ), Add Graphics Script( 2, Description( "" ), Text( {20, 100}, "" ) ),
Add Graphics Script(
3,
Description( "" ),
Pen Color( "black" );
V Line( <U><STRONG>Split</STRONG></U> - 0.5 );
), Grid Line Order( 1 ), Reference Line Order( 4 ), DispatchSeg(
TopSeg( 1 ),
{Set Script(
Text( <U><STRONG>Row_text</STRONG></U>, <U><STRONG>Column_text</STRONG></U>, "Previous Period" );
)}
), DispatchSeg(
TopSeg( 2 ),
{Set Script(
Pen Color( "black" );
V Line( <U><STRONG>Split</STRONG> </U>- 0.5 );
)}
)}
)如何使用“evalexpr”函数更改代码以避免出现此问题?
非常感谢,祝你有美好的一天,
让
回复:图形脚本在日志中报告错误对不起,我错过了之前的问题。 您需要将外部部分 eval( evalexpr( ... ) ) 放在比您显示的更大的代码块周围。 是这样的:
split = something;
row_text = ... ;
column_text = ... ;
...
eval(evalexpr(
ccb = dt<<CONTROLCHART></CONTROLCHART>
必须首先设置变量、拆分等。 evalexpr 将搜索 expr 并用它们的值替换它们,然后 eval 将运行完成的表达式。
回复:图形脚本在日志中报告错误它终于奏效了!
非常感谢!