【发布时间】:2018-06-15 19:46:47
【问题描述】:
在交互式 shell 会话中运行 Octave 时,我知道我可以显示字符模式/ASCII 图,如下所述:Character-mode (shell) plots with Matlab / Octave?
我的问题是,当我的 octave 脚本以非交互方式运行时,我希望得到这种输出。也就是说,我希望能够运行以下内容:
#!/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
或
$ octave testplot.m
两者都没有实际给出任何绘图输出。
我注意到交互式会话输出似乎会随着终端窗口的大小自动缩放,因此从这个意义上说,它取决于会话。
感谢您的帮助!
澄清 - 我知道如何在图形可见性关闭的情况下创建绘图,但我试图避免必须单独下载绘图文件。
我还发现了这个线程:Command-line Unix ASCII-based charting / plotting tool,但 eplot 似乎给了我错误(可能是用户错误、错误的数据格式等,但我不确定),我更愿意保留octave - 只要我在交互式会话中,octave 已经完全符合我的要求!
【问题讨论】:
-
我认为您想在脚本末尾添加
drawnow(情节后) -
drawnow或添加pause解决我的问题。谢谢!
标签: octave