在交互式 shell 会话中运行 Octave 时,我知道我可以显示字符模式/ASCII 绘图,如下所述:使用 Matlab / Octave 绘制字符模式(shell)图?
我的问题是,当我的八度脚本非交互式运行时,我希望得到这种输出。也就是说,我希望能够运行如下所示的操作:
#!/usr/bin/octave -qf
plot(sin(0:7))
并有如下输出:
1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> + ---+ + + + + >
> +--- | >
> | | >
> | | >
0.5 >+ | | +>
> | | | >
> | | | >
> | | | >
>| + | >
0 >+ | | +>
> | | >
> | | >
> | + >
> | | >
> | | >
-0.5 >+ | | +>
> | | >
> +--- | >
> -- | >
> + + + + -+| + >
-1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1 2 3 4 5 6 7 8
如果我在 ssh 会话中打开 Octave,然后在 Octave 终端调用我的脚本,我就会得到该输出:
octave:1> testplot.m
但我真正想做的是从其他 bash 脚本调用 testplot.m,例如:
$ ./testplot.m
or
$ octave testplot.m
两者实际上都没有给出任何绘图输出。
我注意到交互式会话输出似乎会随着终端窗口的大小自动缩放,因此从这个意义上说它取决于会话。
感谢您的帮助!
澄清 - 我知道如何创建关闭图形可见性的绘图,但我试图避免必须单独下载绘图文件。
我还发现了这个线程:基于 Unix ASCII 的命令行图表/绘图工具,但 eplot 似乎给了我错误(可能是用户错误、错误的数据格式等,但我不确定),而且我更喜欢将内容保留在八度音程中 - 八度音程已经完全符合我的要求,只要我正在参加互动会议!
您所要做的就是添加一个pause
在 Octave 脚本的末尾。
问题是,你的脚本已经在最后显示了情节,但程序在你调用后立即结束plot
,所以程序退出,你甚至没有注意到情节。
在下图中,我添加了 Graphics_toolkit 和 gnuplot 终端类型的设置,不是因为您的问题需要它,而是因为在我的系统上默认绘图会有所不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)