如何调试八度脚本的绘图和打印部分
How can I debug the plotting and printing part of an octave script
假设我有一个八度脚本,它应该计算和绘制几条曲线;它运行干净,但情节看起来不像他们应该的那样。
假设我看到不受欢迎的行为,例如:
- 子图不在同一张图上(只有最后一个子图);
- 图例中的下标仅在八度图中正确显示,而不是在生成的 pdf 中
进一步假设我知道它在过去有效——尽管涉及的任何程序的另一个版本包括八度、linux 内核、任何 pdf 打印设备程序等。
我应该如何去了解发生了什么?有没有办法强制 Octave 给出详细的输出?
该脚本使用了 graphics_toolkit("gnuplot")
和打印设备 pdf (print( (...) -dpdf (...)
)。 Octave 版本为 4.0.3,linux 内核为 4.7.6,发行版为 Arch Linux。
八度调试模式(运行 作为 octave -d <script>
的脚本似乎没有产生任何可识别的与打印或绘图相关的内容。)
编辑:作为一种非常粗略的调试方式,可以在不同的点插入 pause(1) 命令,以便更仔细地查看图形在这些阶段的样子。原来只有print()
命令破坏了布局。直到在那之前,一切看起来都很好。但是,我仍然没有更深入地了解如何找到一种方法来找出打印命令出了什么问题。
我会尝试 ftp://alpha.gnu.org/gnu/octave/
的最新候选版本 (rc3)
使用 gnuplot 尝试调试打印问题
print("testplot.eps", "-debug")
并检查生成的 octave-print-commands.log、调试消息和 testplot.eps。当然,如果您能创建一个简约的示例,那将是最好的。您使用哪个 gnuplot 版本?
假设我有一个八度脚本,它应该计算和绘制几条曲线;它运行干净,但情节看起来不像他们应该的那样。
假设我看到不受欢迎的行为,例如:
- 子图不在同一张图上(只有最后一个子图);
- 图例中的下标仅在八度图中正确显示,而不是在生成的 pdf 中
进一步假设我知道它在过去有效——尽管涉及的任何程序的另一个版本包括八度、linux 内核、任何 pdf 打印设备程序等。
我应该如何去了解发生了什么?有没有办法强制 Octave 给出详细的输出?
该脚本使用了 graphics_toolkit("gnuplot")
和打印设备 pdf (print( (...) -dpdf (...)
)。 Octave 版本为 4.0.3,linux 内核为 4.7.6,发行版为 Arch Linux。
八度调试模式(运行 作为 octave -d <script>
的脚本似乎没有产生任何可识别的与打印或绘图相关的内容。)
编辑:作为一种非常粗略的调试方式,可以在不同的点插入 pause(1) 命令,以便更仔细地查看图形在这些阶段的样子。原来只有print()
命令破坏了布局。直到在那之前,一切看起来都很好。但是,我仍然没有更深入地了解如何找到一种方法来找出打印命令出了什么问题。
我会尝试 ftp://alpha.gnu.org/gnu/octave/
的最新候选版本 (rc3)使用 gnuplot 尝试调试打印问题
print("testplot.eps", "-debug")
并检查生成的 octave-print-commands.log、调试消息和 testplot.eps。当然,如果您能创建一个简约的示例,那将是最好的。您使用哪个 gnuplot 版本?