gpt4 book ai didi

Matlab - "seal"一个图形,这样绘图就不会覆盖它,但会自动创建一个新图形

转载 作者:太空宇宙 更新时间:2023-11-03 19:42:38 25 4
gpt4 key购买 nike

我正在编写一个绘制图形的脚本。我希望该图形保持完整,直到用户手动关闭它(例如单击十字)。

如果用户在 Matlab 提示符下发出绘图命令,这不应影响现有图形,但会自动打开一个新图形。

如何在 Matlab 重用图形对象时阻止这种默认行为?

这在使用图形作为交互式用户界面时可能也很重要,当用户希望绘制某些内容时不应将其替换为其他内容。


我尝试过的:help gcf 说它检索全局 'CurrentFigure' 属性。因此,在绘制之后,我尝试了 set('CurrentFigure', 12345),希望它将当前图形重置为一个不存在的值(也尝试了零、空数组)。但这提示它需要一个句柄。所以我尝试实例化一个句柄:set('CurrentFigure', handle()),但它提示它是一个抽象类。我想我正在寻找一个可以实例化的轻量级句柄子类。

最佳答案

将当前图形的属性 NextPlot 设置为 new 将在下次调用 plot() 时创建一个新图。这是一个小例子:

plot(1:10, 1:10); % create a figure
set(gcf, 'NextPlot', 'new'); % next plot goes in new figure
plot(1:10, 1:10);

您尝试更改的 CurrentFigure 属性仅存储最近使用/关注的图形的句柄。它的值必须是有效的图形句柄。您当然可以使用 figure() 创建一个新的空图形,它会自动将 CurrentFigure 设置为新创建的图形的句柄。但是你有两个图形窗口打开。所以我觉得上面的方法更优雅一些。

关于Matlab - "seal"一个图形,这样绘图就不会覆盖它,但会自动创建一个新图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23074724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com