2016-10-03 707 views
0

将我的matlab图形打印到PDF中有问题。在研究了几个小时的解决方案后,我一直无法找到解决方案。我不断收到相同的错误消息。我感谢您的帮助。在Matlab中绘制错误

x = [2 4 7 2 4 5 2 5 1 4]; 
fig=plot(x); 
print(fig,'-dpdf') 



Error using 
checkArgsForHandleToPrint>LocalCheckHandles 
(line 88) 
MATLAB Graphics handle must be a figure. 

Error in checkArgsForHandleToPrint (line 30) 



Error in print>LocalCreatePrintJob (line 336) 
    handles = checkArgsForHandleToPrint(0, 
    varargin{:}); 

Error in print (line 153) 
    [pj, inputargs] = 
    LocalCreatePrintJob(varargin{:}); 
+0

第一个输入应该是*图形的句柄*,您正在将句柄传递给* plot *。试试'print(gcf,'-dpdf')'打印当前的数字 – Suever

回答

1

plot手柄返回到'Line'类型的图形对象,它是下面'Figure'至少两个级别。但print函数需要一个数字(如错误消息所述)。

设置fig=gcf而不是将其设置为输出plot()。这代表“获得最新数字”。或者,您可以利用惯例,至少在默认情况下,图形句柄等于您在图形标题栏中看到的整数,因此如果要打印图1,可以说print(1, '-dpdf')

+0

谢谢!我尝试了你的建议,但我仍然没有得到它的工作.x = [2 4 7 2 4 5 2 5 1 4]; fig = gcf; plot(x); print(1,' - dpdf') – jessica

+1

“print”的第一个参数应该是正确的数字句柄。这可能是1或者它可能不是(这只是我答案中的一个说明性例子 - 你可能会看图2或3,或其他...)。通常'gcf'应该作为'print'的第一个参数(直接或通过变量'fig') – jez