User interface Matlab GUI:将绘图移植到新窗口
我遇到了这样一个问题,希望你们能在这里帮助我 我的GUI中有一个绘图,包含多行不同的LINSpec和一组图例。 我制作了一个上下文菜单,允许用户在新窗口(默认图形,可以保存/编辑图形)中打开完全相同的绘图(保留所有线条设置、标题、图例等)。 但是,我找不到迁移绘图的简单方法,除非重新运行绘图命令,这相当复杂(绘制不同的数据等) 因此,我从以下两个方面寻找解决方案:User interface Matlab GUI:将绘图移植到新窗口,user-interface,matlab,plot,User Interface,Matlab,Plot,我遇到了这样一个问题,希望你们能在这里帮助我 我的GUI中有一个绘图,包含多行不同的LINSpec和一组图例。 我制作了一个上下文菜单,允许用户在新窗口(默认图形,可以保存/编辑图形)中打开完全相同的绘图(保留所有线条设置、标题、图例等)。 但是,我找不到迁移绘图的简单方法,除非重新运行绘图命令,这相当复杂(绘制不同的数据等) 因此,我从以下两个方面寻找解决方案: 有没有一种简单的方法可以将绘图移植到新的图形窗口中 或者是否可以使用当前界面直接保存绘图 对于2,我想澄清一下,我只想保存绘图,而不
saveas(handle.Plot,…)
但它将GUI界面保存为一个实体
我希望这一点已经讲清楚了,谢谢你抽出时间。干杯。对于此任务,您可能可以使用内置的Matlab函数来完成此任务(即问题中提到的第一个选项) 下面的代码演示了它的用法:
h1=figure;
a1=plot((1:100),rand(1,100),'r-');
hold on
plot((1:100),rand(1,100),'b+');
legend({'plot1';'plot2'});
h2=figure;
copyobj(get(h1,'children'),h2);
希望它在你的情况下也能起作用
更新:据我所知,您的第二个解决方案将涉及
saveas
功能,不幸的是,该功能适用于图形环境,而不适用于轴(正如您所经历的那样)。因此,解决方法可能包括使用上述方法将所需的轴复制到新图形,然后使用saveas
谢谢您的回答。现在我不值勤了,所以明天我会试试你的答案。这似乎很有道理Da相关问题: