你好,
我有一个由坐标 X、Y 和名为 Bin 的列组成的数据表。
我想保留初始列并将其转换为坐标为 Xn 和 Yn 的新列。
然后我有一个带有按钮框的窗口,该按钮框调用一个镜像 Y 坐标的函数。 当我按下按钮时,该命令起作用,但只是一瞬间,在坐标返回到它们的初始值之前。 我只看到一个带有相反符号的短暂闪光。
你能帮我吗?
谢谢你的帮助
dt = Current Data Table();
Try(dt << Delete column (:Xn)); //deletes existing Xn and Yn in case script is run several times
Try(dt << Delete column (:Yn));
dt << New Column ("Xn", Numeric, Continuous, Formula(:X));
dt << New Column ("Yn", Numeric, Continuous, Formula(:Y));
New Window("DS Map Alignment",
Button Box ("Mirror Y Axis",
MirrorFunction)
);
MirrorFunction = Function({},
NewX = :Xn << Get Values();
NewY = :Yn << Get Values();
dt:Xn << Set Values (NewX);
dt:Yn << Set Values (-NewY); //This is where I mirror the Y coordinates
);
好吧......我再次意识到我在发布后几秒钟做了什么。 Xn 和 Yn 列通过第 4 行和第 5 行中的公式定义。 此公式覆盖“设置值”命令。
如果我不使用 Formula(:X),而是使用 << get values 和 << set values,它就可以工作。