gpt4 book ai didi

user-interface - 将 matlab 图存储在变量中并重复使用

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

我编写了一个 GUI 应用程序,在对大型数据集执行一些分析后,它提供了对数据进行多个绘图选项的可能性(通过弹出菜单)。

所以现在每个图都是在弹出菜单中选择时即时计算的。这既不高效又耗时,所以我想只计算一次所有这些图,然后以某种方式将它们存储在变量中,并能够将它们中的每一个分配给 gui 轴的句柄。

基本上,我希望将 h=plot([1 2 3]) 类型的图存储在变量中(无需可视化),并能够在以后根据需要将其可视化。我尝试将坐标轴句柄分配给绘图句柄,例如

h=plot([1 2 3]);
handles.plottingscreen_axe=h;

...但它什么也看不到。为了简化问题,我一直在尝试使用终端上的测试数据来简单地将一个图形句柄分配给另一个图形句柄,以便以某种方式将可视化转储到另一个图形,但没有任何效果,例如

h=plot([1 2 3]);
f=figure;
f=h;

...但我无法将 h 绘制成图 f。

显然我对图形句柄没有经验,所以我想这对有经验的人来说很简单。我还没有找到任何相关文档,每个人都建议简单地创建一个重新绘制所有内容的函数,但这正是我要避免的。

感谢任何帮助,对于我的问题过于基础的问题,我深表歉意。

最佳答案

figure;
ah = axes;
hold(ah,'on');
%Axes must have hold on or lh(1) will become invalid after lh(2) is created
lh(1) = plot(ah,[1 2 3],[1 2 3],'r','visible','off');
lh(2) = plot(ah,[1 2 3],[3 2 1],'b','visible','off');

这将打开 1 号线(红色)

set(lh(1),'visible','on');set(lh(2),'visible','off')

这将打开 2 号线(蓝色)

set(lh(1),'visible','off');set(lh(2),'visible','on')

在您的 GUI 中,您将需要某种回调来循环显示所有线路句柄的可见开/关状态。注意:如果这些是非常大的数据集并且您有很多行,它可能会占用大量内存。

关于user-interface - 将 matlab 图存储在变量中并重复使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605061/

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