许多的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! –