说我有四个地块h1-h4,想要链接所有的x轴。为此,我可以使用linkaxes([h1 h2 h3 h4], 'x')
。但是,在添加中,我想链接h1和h3的y轴(以及h2到h4的链接)。现在,当我使用linkaxes([h1 h3], 'y')
时,x轴连接丢失了。两个链接如何同时实现?
答案 0 :(得分:3)
linkaxes
的第73和74行是:
%# Remove any prior links to input handles
localRemoveLink(ax)
我建议您通过“另存为...”创建一个新功能myLinkaxes
,在其中注释掉第74行。更好的是,myLinkaxes
可以接受额外的输入参数“keep” ,在第73和74行的if子句中使用,即如果keep
为1,则不会调用localRemoveLink
。
如果您单独链接x轴和y轴,这应该有效,但如果您在之前或之后使用'xy'
参数,则可能会出现问题。
答案 1 :(得分:2)
除了Jonas提供的解决方案之外,我认为还值得一提的是低级函数linkprop
,它能够链接看似任意的图形对象属性。
对于这个特定问题,可以通过以下命令序列实现所需的效果:
linkaxes([h1 h2 h3 h4], 'x');
lnkObj = linkprop([h1 h3], 'YLim');
出于演示目的(并且因为linkprop
对我来说是新的),这个例子非常简单。请参阅文档以获取更多详细信息和更复杂的示例。
这里也值得一提的是linkprop
返回link object,其中(根据前一个链接)“必须存在于您希望发生属性链接的上下文中”;特别是,如果对链接对象的所有引用都消失,则链接将停止,这就是将链接对象分配给上面的变量的原因。此外,对于创建的链接对象的引用对于改变相应图形对象如何链接的细节(即,哪些对象的属性由给定的链接对象链接)是必要的;有关详细信息,请参阅Updating a Link Object(包括专门为执行此类更新而设计的功能列表)。