2014-05-21 146 views
7

我需要保存一个图。这是我的代码,我不知道它为什么不起作用。八度,如何保存剧情图?

hold on; 
plot(x1, y2) 
plot(x1, y2) 
print -djpg image.jpg 

在屏幕上输出的情节是正确的,但在文件中输出不同的是:它没有我的观点仅保存一个空的情节图像。

这是我在文件输出: enter image description here

+0

确保您使用的是最新的GNU倍频版本是3.8(http://mxeoctave.osuv.de/)。我记得之前和其他用户见过这个问题。 – juliohm

+0

我的版本是3.8.1 – Ewybe

+0

什么操作系统?如果您将扩展名更改为* .png或* .pdf,会怎么样?您是否尝试过使用替代'print(FILENAME,OPTIONS)'语法? – juliohm

回答

8

我有同样的问题与最新的倍频(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可以处理的字体来解决问题,而不会出现任何问题。请注意,如果您已经绘制了该图,则必须关闭它并在设置defaultaptixfontname后重新绘制它。

来源:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710272

+0

使用这种方法我得到一个黑色的屏幕打印。但至少我可以直接将它保存为图像。打印仍然不起作用。 – hAlE

+0

检查您的Ghostscript版本是否与Octave兼容,您可能必须更新/使用旧版本才能使打印正常工作。您也可以在Octave的跟踪器上报告您的问题。 – gaborous