首页 文章

Matlab openfig对现有的数字

提问于
浏览
1

在Matlab中我使用 openfig(filename); 打开一个已保存的图形,它总是打开一个新窗口 . 所有 'reuse' 参数都不会在文件显示已打开时加载该文件 . 但是,我希望将文件打开到给定的图中,然后覆盖其内容 . 有没有办法将数字句柄传递给 openfig ,还是有另一个功能可以实现这个目的?

所以在代码中,我想要做的是以下几点:

f = figure;
openfig(filename, 'Figure',f);

然后该图将显示在图 f 中,而不是打开第二个数字窗口 .

1 回答

  • 1

    我认为你可以使用copyobj函数安排一些接近你想要的东西 . 这是一个有停靠图的尝试:

    % --- Create sample figure
    h = figure;
    ezplot('sin(x)');
    set(gcf, 'Windowstyle', 'docked');
    
    pause
    
    % --- Replace the axes
    clf
    g = openfig('test.fig', 'invisible');
    copyobj(get(g, 'CurrentAxes'), h);
    delete(g);
    

    这使我可以顺利更换轴,而不会闪烁图形 .

    但是,我不知道这对于全屏图形会如何表现,它肯定取决于您选择的方法 . 还要详细检查 copyobj 的文档,它不会复制所有内容,因此您可能需要使用 legacy 选项 .

相关问题