使用Octave脚本的字符模式(shell / ASCII)图

时间:2018-06-15 19:46:47

标签: octave

在交互式shell会话中运行Octave时,我知道我可以显示字符模式/ ASCII图,如下所述:Character-mode (shell) plots with Matlab / 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:1> testplot.m

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

$ ./testplot.m

$ octave testplot.m

这两者都没有给出任何情节输出。

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

感谢您的帮助!

澄清 - 我知道如何创建关闭数字可见性的情节,但我试图避免单独下载情节文件。

我也发现了这个帖子:Command-line Unix ASCII-based charting / plotting tool,但eplot似乎给了我错误(可能是用户错误,数据格式错误等,但我不确定),而且我' d喜欢把事物保持在八度音阶 - 只要我在交互式会话中,八度音阶就完全符合我的要求!

1 个答案:

答案 0 :(得分:2)

您所要做的就是在Octave脚本末尾添加(async () => { await page.goto('https://google.com', {waitUntil: 'networkidle2'}); await page.pdf({path: 'hn.pdf', format: 'A4'}); await browser.close(); })();

事实是,你的剧本已经在最后显示了剧情,但程序在你致电pause之后就结束了,所以程序退出了,你甚至没有注意到情节。

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

enter image description here