【问题标题】:MATLAB linkaxes for different figures不同图形的 MATLAB 链接轴
【发布时间】:2015-04-17 13:15:33
【问题描述】:

我想为不同图形上的绘图链接轴。但是,我的绘图方法是在为 GUI 设计的类中,并根据列表框选择绘制变量。每个列表框选择都会创建一个新图形,其中 Y 值不同(只有大小而不是长度)。我想做的是能够为所有连续的图连接轴。我注意到 linkaxes 函数仅适用于子图。有没有更简单的方法来完成我想做的事情?我的代码类似于下面的代码,其中 Y1 的值将根据列表框的选择而改变。

X1=1:100;
Y1=sqrt(X1);
figure();
plot(X1,Y1)

谢谢!

【问题讨论】:

  • linkaxes 不限于子图。您不能将每个新创建的轴的句柄存储在向量中并将其传递给链接轴吗?类似h = figure(); ax = cat( 1, ax, gca(h)); linkaxes(ax);

标签: matlab user-interface figures


【解决方案1】:

所以我解决问题的方法是创建两个属性来存储 fig 和 gca 数字,如下所示:

    FigNums=[];             % Store figure numbers during plotting
    AxNums=[];              % Store axes numbers during plotting

然后在方法中,我做了 AnonSubmitter85 推荐的操作:

            app.FigNums = [app.FigNums figure()];
            app.AxNums  = [app.AxNums gca];
            plot(xvar,yvar,'DisplayName',[app.getYvarName ' vs. ' 'Time']);
            grid on;
            legend(xvarname)
            linkaxes(app.AxNums,'xy')

像魅力一样工作:) 谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 2014-08-22
    • 1970-01-01
    相关资源
    最近更新 更多