許多的MATLAB和工具箱的繪圖功能(認爲不是所有的)允許下面的兩個語法:實現多個語法的MATLAB繪圖功能
plotfcn(data1, data2, ...)
plotfcn(axes_handle, data1, data2, ...)
第一個情節到當前軸(gca
)或創建並繪製成新的軸,如果沒有的話。第二個繪製到手柄爲axes_handle
的軸上。
查看了幾個MATLAB和工具箱繪圖函數的內部結構後,看起來好像MathWorks沒有真正的標準化方法。一些繪圖例程使用內部函數axescheck
解析輸入參數;有些人會對第一個輸入參數做一個簡單的檢查;有些使用更復雜的輸入解析子函數,可以處理更多種類的輸入語法。
注意axescheck
似乎使用的ishghandle
無證語法 - 美國商務部說,ishghandle
只需要一個輸入,返回true,如果它是任何處理圖形對象;但axescheck
將其稱爲ishghandle(h, 'axes')
,僅當它特別是一個軸對象時才返回true。
是否有人知道實現此語法的最佳實踐或標準?如果不是,你發現哪種方式最健壯?
FYI:http://undocumentedmatlab.com/blog/ishghandle-undocumented-input-parameter/ –
@Yair - 謝謝你的namecheck! –