如何在Matlab2014b中使用函数“legendshrink”
今天,我在Matlab2014b中发现了一个bug。 我使用“legendshrink”来绘制图形,但它显示索引超过了矩阵维度,为什么? 以下代码:如何在Matlab2014b中使用函数“legendshrink”,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,今天,我在Matlab2014b中发现了一个bug。 我使用“legendshrink”来绘制图形,但它显示索引超过了矩阵维度,为什么? 以下代码: plot(1:10,'.-'); plot(10:-1:1,'o-'); legend({'one' 'two'},'location','north') legendshrink 函数“legendshrink”来自 Matlab2014b引入了一种新的图形框架。看起来您的legendshrink程序与新框架不兼容,但与2
plot(1:10,'.-');
plot(10:-1:1,'o-');
legend({'one' 'two'},'location','north')
legendshrink
函数“legendshrink”来自 Matlab2014b引入了一种新的图形框架。看起来您的legendshrink程序与新框架不兼容,但与2012a中的旧框架兼容。也许您应该联系作者,让他们做一些更改以支持新框架 这可能是一个很大的变化:在旧的框架中,图例实际上只是添加到情节中的一个额外轴。在新的框架中,有一种全新的对象来表示图例 您的错误来自第104行,其中代码查找“line”类型的图例轴的子项。在新的框架中,legend对象没有任何“Line”类型的子对象,因此legendshrink当前实现的方式根本不起作用
要明确的是,这不是MATLAB 2014b中的错误,而是legendshrink与MATLAB 2014b不兼容。完整的错误消息是什么?它表明索引超过了矩阵维度。legendshrink行104 cch_min=findcch==cch_行1中的错误;run_主线9 Legendshrink中的错误我认为这是Matlab2014b中的错误。当我使用Matlab 2012a时就可以了。您应该在绘图命令之间保持一段时间,但我不确定这是否只是示例代码的问题。您描述的文件已在Matlab文件交换中上载到2009,版本为R2007a。这不是一个bug,因为Mathworks永远不会保证遗留的第三方函数适用于所有版本的MATLAB。