问题描述
上下文:当我使用 Python + matplotlib 时,我可以在任何文本编辑器(如 Sublime Text)中编写代码,执行 CTRL+B,然后文本输出显示在文本编辑器的“构建结果”面板中,并且可以选择在新的 GUI 窗口中呈现图形/绘图。
在幕后,文本编辑器在我们执行“构建”时调用 python myscript.py
,就是这样。
它很简单,而且工作起来很轻松。
现在我正在尝试对 GNU Octave 执行相同的操作:编写 test.m
代码(例如 this one)。然后从我最喜欢的文本编辑器(而不是 Octave IDE)或命令行运行它。我试过了:
-
octave test.m
:该图在 100 毫秒内显示,然后消失!不行 -
octave --persist test.m
:情节保持显示,这没问题……但这部分不好:它打开了一个 IDE(我不想要,因为我想继续使用我常用的文本编辑器!),请参阅背景窗口:
如何让 GNU Octave
的行为符合预期:标准输出中的文本输出(在终端或文本编辑器的“构建结果”面板中)和新窗口中的绘图输出? 重要提示:不生成 IDE 窗口。
我觉得奇怪的是这种行为不是默认行为。不应该吗?
编辑:解决:
octave-cli test.m
和
k = plot(...)
waitfor(k)