从 jmp 中的等值线图获取线扫描数据你好,
我有等值线图,我想看看数据如何沿着等值线图中的线变化。
例如,等值线图是膜厚度等值线图。 我想看看厚度如何沿着我在等值线图上的任何位置绘制的线变化。
这可能吗?
瑜伽
回复:从 jmp 中的等值线图获取线扫描数据瑜伽,
有多种方法可以将脚本添加到数据表中。我认为 JMP 可以让事情变得更容易。 仅供参考,此脚本仅显示 3 种添加脚本的方法。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myScript = Expr(Distribution( Column( :Height, :Weight ), By( :sex )) );
//---hard coded method below
//dt << New Script("New Script",Distribution( Column( :Height, :Weight ), By( :sex )) );
//--or use the syntax below that uses expression substitution then Eval() to run it
//Eval( Substitute(Expr( dt << New Script( "New Script", _xx ) ), Expr(_xx), NameExpr(myScript) ) );
//---or use Eval Expr() that does the substitution and Eval() that runs it
Eval( Eval Expr(dt << New Script("New Script", Expr(NameExpr( myScript) ) ) ) );
回复:从 jmp 中的等值线图获取线扫描数据嗨摩根,
您为我的示例发送的示例代码中有一些(轻微的)语法错误。 我花了一些时间(我对 jmp 脚本非常陌生)来修复它,但它最终按照我想要的方式工作。 再次感谢您的帮助。 我将修改后的脚本附在下面,供其他可能需要的人使用。
我还意识到,如果脚本存储在数据表中,我不需要指定任何(长)位置路径。 奇怪的是我无法将新的脚本文件保存到数据表中。 它必须保存为单独的 jsl 文件。 为了解决这个问题,我打开数据表中已有的脚本并修改它以输入新脚本。
回复:从 jmp 中的等值线图获取线扫描数据嗨摩根,
再次感谢。 非常感谢。 将相应地修改我的脚本。
瑜伽
回复:从 jmp 中的等值线图获取线扫描数据我有半导体数据方面的经验,所以我理解想要对每个晶圆或每个结构进行分析。从你的陈述来看“它适用于一个对象。 如果有多个对象,我不知道如何将其分组。“我假设您的文件有一列称为晶圆和/或结构。
首先,数据表不需要命名为dt。 我确实重新调整了变量引用的用途,但调用所有这些表 dt 可能会导致较大脚本中的混乱。语法和拼写错误后的名称冲突是脚本无法正常工作的最常见原因。
对于您的脚本,如果您同意将所有图表按顺序放置在日记中,那么我建议您对脚本进行修改以处理“按组”。 该脚本下面还有更多内容。
subp = dt << Bivariate ( Y(:Name( "Rdson" )), X(:X), By(:Wafer) );
xx = subp << Find (Outline Box ("Bivariate ?") );
//this returns all outline boxes with Bivariate in the title, should be one for each wafer
//This adds the title but maintains the By Wafer = xxxxxxx
For(i=1, i <=nitems(xx), i++,
ttl = xx[i] << get title;
p = Contains( ttl, "By"); //find the position of the word By
xx[i] << Set Title(" Rdson Contour at Y==0 " || substr(ttl, p, 100) ); //something large
);但是,还有其他方法可以让您布局报告,以便您可以并排查看每个晶圆的每次扫描。下面是使用 Big Class 的示例。 我附上了一个脚本(参见文件)。 没有测试表,我不能保证它会起作用,但你可能想尝试一下。
Names default to here(1);
open("$sample_data/Big Class.jmp");
nw = new window("example", lineupbox(ncol(2), Distribution(
Continuous Distribution( Column( :weight, Horizontal Layout(1) ) ),
Histograms Only,
By( :age, :sex )
)));
nw << journal window();
回复:从 jmp 中的等值线图获取线扫描数据嗨摩根(和所有人),
我设法让它适用于我的数据表。 我还意识到,我不需要一直通过等高线图。 我可以创建一个所有 X==0 的子表,并沿 Y 获取数据,反之亦然,并且我喜欢的任何其他坐标也是可能的。 您提供的脚本很有帮助。
现在,我正在尝试弄清楚如何跨多个对象执行此操作。 我的示例脚本如下。 它适用于一个对象。 如果有多个对象,我不知道如何将其分组。 对此有何意见? 我将非常感激。
在我的脚本中,现在我获取了一个对象的所有数据。 然而,我必须在另一个对象上重复相同的操作。 所有物体都属于一个类别,例如“晶圆”或“结构”......
名称默认为此处(1);
dt = open("C:/Users/yoga_***/***.jmp");
dt << 选择其中 (:Y == 0);
dt << Subset(输出表("子集"),选定的行(1),选定的列(0));
dt = 数据表(“子集”);
subp = dt << 双变量 ( Y(:Name( "Rdson" )), X(:X) );
report(subp)[OutlineBox(1)] << 设置标题( "Y==0 处的 Rdson 轮廓" );
subp << 日志窗口();
subp << 关闭窗口();
dt = open("C:/Users/yoga_***/***.jmp");
dt << 选择其中 (:X == 0);
dt << Subset(输出表("Subset2"),选定的行(1),选定的列(0));
dt = 数据表("子集2");
subp = dt << 双变量 ( Y(:Name( "Rdson" )), X(:Y) );
report(subp)[OutlineBox(1)] << 设置标题( "X==0 处的 Rdson 轮廓" );
subp << 日志窗口();
subp << 关闭窗口();
dt = open("C:/Users/yoga_***/***.jmp");
dt << 选择其中 (0.95 < :X/:Y < 1.05);
dt << Subset(输出表("Subset3"),选定的行(1),选定的列(0));
dt = 数据表("子集3");
subp = dt << 双变量 ( Y(:Name( "Rdson" )), X(:X) );
report(subp)[OutlineBox(1)] << 设置标题( "X==Y 处的 Rdson 轮廓" );
subp << 日志窗口();
subp << 关闭窗口();
关闭(数据表(“子集”),NoSave);
关闭(数据表(“子集2”),NoSave);
关闭(数据表(“Subset3”),NoSave);
回复:从 jmp 中的等值线图获取线扫描数据嗨摩根,
这正是我想要的。 我通常在没有脚本的情况下执行此子例程。 这个脚本有帮助。
现在,我正在尝试弄清楚如何将此脚本集成到我当前的需求中。
会及时向大家发布。
回复:从 jmp 中的等值线图获取线扫描数据嗨摩根,
感谢您的详细回复。 我会尽力向大家通报情况。
回复:从 jmp 中的等值线图获取线扫描数据有多种方法可以获得轮廓的横截面图。但是,它可能不是其他程序中可用的内置语句或单个语句。
我附上了一个名为轮廓横截面.jsl 。 它使用 JMP 样本数据 Little Pond.jmp 该数据表示池塘的深度。 它创建一个轮廓、单个横截面视图(使用“Fit Y by X”、双变量)和 3 个横截面的比较视图(使用“图形生成器”)。
如果您不熟悉 JSL,只需运行该程序即可。 我已经在 JMP12、13 和 14 中对其进行了测试。 关键是您可以从等值线图选项中获得的选项。在 JMP 计数图上选择红色三角形菜单,然后选择节省,然后选择生成网格。指定 X 和 Y 切片的数量,然后生成 xygrid。
以下是一些其他想法:
- 如果样本点数量不密集,请考虑使用神经网络或其他平台创建更平滑的曲线。 有时三角测量会关闭。 对于函数,有多种方法可以获取横截面。
- 了解如何将轮廓刻画器与网格结合使用。 然后从菜单中添加本地数据过滤器,并将 Y 或 X 的范围设置为 50 <=Y <= 50.1 这都是交互式的。 分析器中还有其他选项。
- 如果您可以从您有权访问的另一个程序轻松获取此信息,则可以使用 JSL 和运行程序访问 R、MatLab、SAS 以及 JMP14、Python。
希望这可以帮助。
回复:从 jmp 中的等值线图获取线扫描数据嗨卡梅伦,
不,不是平滑样条曲线。 看起来现在没有办法获取它,除非我遵循获取数据子集的蜿蜒方式。
不过,在 jmp 中添加该功能应该不会太难。 它通常存在于许多软件中,这些软件将参数映射到 XY 中以给出等值线图。 我们可以玩一下,看看它沿着我们绘制的轮廓线如何变化。
回复:从 jmp 中的等值线图获取线扫描数据您是否正在描述薄膜的横截面,例如沿幅材向下方向的特定切片处的横向幅材轮廓? 如果是这样,我认为没有任何方法可以从轮廓分析器中获取它。
您是否需要像平滑样条一样在该横截面的数据点之间绘制一条线?
回复:从 jmp 中的等值线图获取线扫描数据嗨卡梅伦,
不完全是。 当我从等值线图的一端到另一端画一条线时,我正在寻找参数变化。 我将尝试在这里以最好的方式来说明它。
我有一个基板上薄膜厚度变化的等值线图。 然后,我可以选择任何给定的 X(或 Y)并从一端到另一端画一条线。 假设,我希望所有点都在 Y=0 处,但 X 在 -50 到 +50 之间变化。 我画一条从 -50 到 +50 的水平线。 然后,我想看看该线的厚度如何变化,并在侧面显示一个图。
我可以用一种曲折的方式来做这件事。 获取数据集。 然后,取 Y=0 的所有数据点的另一个子集。 然后绘制厚度与 X 的关系(对于所有 Y=0)。
我希望当我在任何地方画一条线时,这可以在后台完成。
回复:从 jmp 中的等值线图获取线扫描数据你好@瑜伽,
您是说您想在等高线图上绘制数据点吗?如果是这样,请参阅此线程: https://community.jmp.com/t5/Discussions/Adding-specific-data-points-with-labels-to-a-contour-plot/mp/52455