octave - 带有 Octave 脚本的字符模式(shell/ASCII)图

标签 octave

在交互式 shell session 中运行 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 session 中打开 Octave ,然后在 Octave 终端调用我的脚本,我会得到该输出:
octave:1> testplot.m

但我真正想做的是从其他 bash 脚本调用 testplot.m,例如:
$ ./testplot.m

或者
$ octave testplot.m

两者实际上都没有给出任何绘图输出。

我注意到交互式 session 输出似乎会随着终端窗口的大小自动缩放,因此从这个意义上说,它取决于 session 。

感谢您的帮助!

澄清 - 我知道如何在关闭图形可见性的情况下创建绘图,但我试图避免必须单独下载绘图文件。

我也发现了这个帖子:Command-line Unix ASCII-based charting / plotting tool ,但 eplot 似乎给了我错误(可能是用户错误、错误的数据格式等,但我不确定),我更愿意将事情保持在 Octave - Octave 已经完全符合我想要的我在互动环节!

最佳答案

您所要做的就是添加一个 pause在 Octave 脚本的末尾。

问题是,您的脚本已经在最后显示了情节,但是在您调用 plot 后程序立即结束。 ,所以程序退出,你甚至没有注意到情节。

在下图中,我添加了 graphics_toolkit 和 gnuplot 终端类型的设置,不是因为您的问题需要它,而是因为在我的系统上默认绘图会有所不同。

enter image description here

关于octave - 带有 Octave 脚本的字符模式(shell/ASCII)图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50881826/

相关文章:

octave - 无法在 Windows 10 下使用 Octave 4.0.0 图形工具包功能

octave - Octave 中的符号集成? (需要安装扩展?如何? - 使用 Ubuntu 12.04)

plot - Octave:WAITING绘图显示

python - MATLAB/Octave corr 和 Python numpy.correlate 有什么区别?

python - Octave/Matlab 与 Scipy 中的周期图

matlab - 如何知道旋转图像在matlab中的旋转度数?

arrays - 如何在每一列中设置具有不同重复模式的矩阵?

plot - 当您第一次使用图形函数(plot、imagesc等)时,Octave会挂起,

math - 为什么 Gnu Octave 有负零?

save - Octave:用希腊字母和下标保存数字