2016-10-03 198 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