大家好,
我在绘制 FTIR 实验中的一些数据时遇到了问题。我有一个列表,其中包含要在 Y 轴上绘制的列的名称,以便它们都以相同的比例重叠(而不是相互重叠)。但不知何故,我不知道如何编写代码。
我尝试过这样,但似乎“Position([1])”并没有真正起作用。
有人可以帮忙吗?
谢谢!
gb = dt<< Graph Builder(
Show Control Panel(1),
Variables(X(:Wavenumber)),
Elements( Line(X,Y))
);
gb << inval;
For Each({y_col, idx}, columns_list,
Eval(evalExpr(
gb << Add Variable({Expr(Name Expr(As Column(dt, y_col))),Position([1]), Role("Y")})
));
);
gb << Update window;您是否比较过如果使用 Graph Builder 构建脚本会是什么样子?您的代码中有一个小错误
Graph Builder(
Variables(
X(:SITE),
Y(:NPN1),
Y(:PNP1, Position(1)),
Y(:PNP2, Position(1)),
Y(:NPN2, Position(1))
),
Elements(Line(X, Y(1), Y(2), Y(3), Y(4), Legend(4)))
);
注意 Position 的使用方式(您有多余的 []。您还缺少“,”我在将 JSL 格式添加到您的代码时修复了这个问题,以便我可以更轻松地使用 JSL 重新格式化)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
gb = dt<< Graph Builder(
Show Control Panel(1),
Variables(X(:Site)),
Elements(Line(X,Y))
);
columns_list = {"NPN1", "PNP1", "PNP2", "NPN2"};
For Each({y_col, idx}, columns_list,
Eval(evalExpr(
gb << Add Variable({Expr(Name Expr(As Column(dt, y_col))), Position(1), Role("Y")})
));
);

嗨,jthi!
确实,唯一的问题出在 [ ]...感谢您发现这一点!
最好的,
路易斯