你好,
我使用 Perl 做了类似的事情,但 Perl 没有成像功能,所以我想使用 JMP 代替。 我发现这其中有几个步骤令人困惑。 是否有 JMP 专家可以帮助解决这些问题?
1) 我捕获了以下脚本(如下)来过滤掉分类事物的 XY 网格的边缘,然后按类别计算缺陷。 我想通过通配目录中的所有文件(name_A...name_F-)并将脚本应用到每个文件来使其更有用。
2)然后我想在每次运行脚本时保存所有图像文件。
3)我想将我生成的表中的所有数据导出到一个主文件,其中包含按分类排列的文件名和内容。
// 导入文本文件:name_F.csv
// → 数据表( "name_F" )
打开(
“$DESKTOP/name_F.csv”,
列(
新列(“否”,字符,“名义”),
新列(“类别”,字符,“名义”),
新列(“X”,数字,“连续”,格式(“最佳”,12)),
新列(“Y”,数字,“连续”,格式(“最佳”,12)),
新列(“能量”,数字,“连续”,格式(“最佳”,12)),
新列(“c000006”,数字,“连续”,格式(“最佳”,10)),
新列(“c000007”,数字,“连续”,格式(“最佳”,10)),
新列(“c000008”,数字,“连续”,格式(“最佳”,10)),
新列(“c000009”,数字,“连续”,格式(“最佳”,10)),
新列(“c000010”,数字,“连续”,格式(“最佳”,10)),
新列(“c000011”,数字,“连续”,格式(“最佳”,10)),
新列(“c000012”,数字,“连续”,格式(“最佳”,10))
),
导入设置(
行尾( CRLF, CR, LF ),
字段结束( 逗号, CSV( 0 ) ),
剥离报价( 1 ),
使用撇号作为引号(0),
使用区域设置( 0 ),
扫描整个文件( 1 ),
将空列视为数字 ( 0 ),
压缩数字列( 0 ),
压缩字符列(0),
压缩允许列表检查(0),
标签( 1 ),
列名开始( 15 ),
数据开始( 16 ),
要读取的行(“全部”),
年份规则(“20xx”)
)
);
// 报告快照:name_F - 图形生成器
数据表( "name_F.csv" ) << 图形生成器(
尺寸(502、432)、
显示控制面板( 0 ),
变量( X( :X ), Y( :Y ) ),
元素( 点( X, Y, 图例( 5 ) ) )
);
当前数据表() << 数据过滤器(
位置( {30, 30} ),
众数( 包括( 1 ) ),
添加过滤器(
列(:X,:Y),
其中(:X >= 24602 & :X <= 93335),
其中(:Y >= 23835 &:Y <= 93002 )
)
);
// 报告快照:name_F - Graph Builder 2
图形生成器(
尺寸(570、432)、
显示控制面板( 0 ),
变量( X( :X ), Y( :Y ), 组 Y( :Class ) ),
元素( 点( X, Y, 图例( 15 ) ) )
);
// 报告快照:name_F - 图形生成器
图形生成器(
尺寸(502、432)、
显示控制面板( 0 ),
变量(X(:类),Y(:X)),
元素(
酒吧(
X,
是,
传说(4),
统计汇总(“N”),
标签(“按值标签”)
)
)
);
请随时给我发电子邮件: morinei@corning.com您以前是否做过类似的事情并且愿意花几分钟时间讨论一下?
为了强调我在每个问题上陷入困境的地方:
1)我需要批量导入JMP并在同一行打开每个文件,然后输出日志。 我不确定JMP是否可以完成第一步。
2)我无法确定保存图像时更新了哪种类型的日志。
3)我无法弄清楚将文件名放入表中。
嘿@PanelGemsbok742 !
以下是对每个问题的一些想法:
- 查看多个文件导入(在“文件”下)。您将需要使用“添加文件名”复选框,以便您知道数据集来自哪个文件。
- 目前增强日志可能无法捕获保存图像(某些更深层次的内容则不能)。最初的重点是数据处理和清理操作,此后它们一直在扩展。 18、将(我认为)带来对输出文件的更多支持。同时,查看 JMP 中的帮助 > 脚本索引,然后搜索保存图像。有一个很好的小代码片段,可以帮助您指明如何导出图像的正确方向。

- 也应该按答案1处理。
其他想法 - 我很确定您可以将上面的代码放入一个循环中,稍加修改,它就可以在目录上工作,这是伪代码(插入一些代码位以帮助)以使其工作:
// Define the file directory
dir = Pick Directory();
// Get Files in directory of interest
files = Files in Directory(dir);
// Loop through files list
For Each({file, index}, files,
// create file name with path
filename = dir ||file;
// your stuff
// change the "$Desktop/..." to be filename
// update to include the image save...
); // end of loop