Octave,如何保存绘图图?
Posted
技术标签:
【中文标题】Octave,如何保存绘图图?【英文标题】:Octave, how to save a plot graph? 【发布时间】:2014-05-21 09:55:52 【问题描述】:我需要保存一个情节。这是我的代码,我不知道为什么它不起作用。
hold on;
plot(x1, y2)
plot(x1, y2)
print -djpg image.jpg
屏幕上输出的绘图是正确的,但文件中的输出不同:它只保存了一个没有我的点的空绘图图像。
这是我在文件中的输出:
【问题讨论】:
确保您使用的是最新的 GNU Octave 版本,即 3.8。我记得以前和其他用户看到过这个问题。 什么操作系统?如果您将扩展名更改为 *.png 或 *.pdf 会怎样?您是否尝试过替代print (FILENAME, OPTIONS)
语法?
SO:“Ubuntu 13.10”。我尝试保存在各种扩展文件(png、pdf 等)中,但结果始终相同。
如果您尝试使用不同的图形工具包会怎样?重新启动解释器并在绘图命令之前键入graphics_toolkit fltk
或graphics_toolkit gnuplot
。
【参考方案1】:
我刚刚在最新的 Octave (3.8.1) 上遇到了同样的问题。这个问题来自 GhostScript,而不是 Octave。字体管理有问题。
为确保,如果输出此错误(以及更多信息),请在尝试打印后检查控制台:
GPL Ghostscript 8.63: Unrecoverable error, exit code 1
如果是这样,那么试试这个:
set (0, "defaultaxesfontname", "Helvetica") % this is the line to add BEFORE plotting
hold on;
plot(x1, y2)
plot(x1, y2)
print -djpg image.jpg
这将通过设置 GhostScript 可以毫无问题地处理的字体来解决问题。请注意,如果您已经绘制了图形,则必须在设置 defaultaxesfontname 后关闭它并重新绘制它。
来源:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710272
【讨论】:
使用这种方法我得到一个黑屏打印。但是至少我可以直接将它保存为图像。打印仍然不起作用。 检查您的 Ghostscript 版本是否与 Octave 兼容,您可能需要更新/使用旧版本才能正常打印。您还可以在 Octave 的跟踪器上报告您的问题。以上是关于Octave,如何保存绘图图?的主要内容,如果未能解决你的问题,请参考以下文章
通过将数字分组到一个范围内在 matlab / octave 中绘图