【发布时间】:2021-05-09 06:11:30
【问题描述】:
上下文:当我使用 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 的行为符合预期:stdout 中的文本输出(终端中或文本编辑器的“构建结果”面板中)和新窗口中的绘图输出? 重要提示:不产生 IDE 窗口。
我觉得奇怪的是这种行为不是默认行为。不应该吗?
编辑:解决方法:
octave-cli test.m
和
k = plot(...)
waitfor(k)
【问题讨论】:
-
当您尝试从 CMD 运行这 2 个八度命令时会发生什么?
-
正是我在问题中描述的(我从命令行进行了测试)
-
为了获得类似的效果,我在终端中运行命令行界面
octave-cli,在另一个终端中运行vim。不完全是你要找的东西,但 matplotlib 是一个 python 模块,而 octave 是一个独立于你的编辑器的程序。 -
谢谢,我试试,你能用这个@matzeri 回复一下吗?
-
@TasosPapastylianou 谢谢你的帮助,确实解决了! PS:Python matplotlib
plt.show()默认是阻塞的(这很棒),所以我说它“开箱即用”。
标签: python windows command-line octave octave-gui