在Matlab中克隆图形-带有属性和数据
我用matlab编写了一个脚本,它生成一组数据 这些图形在格式化方面应该非常相似,并且每个图形都应该显示一组数据(它是嵌入在3d域中的图形)。此外,这些图形中的每一个都应该显示该3d域中的一组粒子 所以我想创建第一个图形,然后复制几份,然后放入数据集。然而,我不知道如何在Matlab中以简单的方式创建图形的克隆 你知道吗,我怎样才能复制数字在Matlab中克隆图形-带有属性和数据,matlab,Matlab,我用matlab编写了一个脚本,它生成一组数据 这些图形在格式化方面应该非常相似,并且每个图形都应该显示一组数据(它是嵌入在3d域中的图形)。此外,这些图形中的每一个都应该显示该3d域中的一组粒子 所以我想创建第一个图形,然后复制几份,然后放入数据集。然而,我不知道如何在Matlab中以简单的方式创建图形的克隆 你知道吗,我怎样才能复制数字 在线文档没有帮助。多谢各位 您可以将用于生成基础地物的代码放入一个函数中,然后多次调用该函数以创建基础地物的多个副本。您需要将这些地物(可能还有它们的轴)的
在线文档没有帮助。多谢各位 您可以将用于生成基础地物的代码放入一个函数中,然后多次调用该函数以创建基础地物的多个副本。您需要将这些地物(可能还有它们的轴)的返回作为该函数的输出,以便使用不同的打印数据集修改每个地物。例如,此函数使一个500×500像素的图形位于屏幕左侧和底部100像素处,具有红色背景和一个轴,其中一组给定的输入数据绘制在该图形上:
function [hFigure,hAxes] = make_my_figure(dataX,dataY)
hFigure = figure('Color','r','Position',[100 100 500 500]); %# Make figure
hAxes = axes('Parent',hFigure); %# Make axes
plot(hAxes,dataX,dataY); %# Plot the data
hold(hAxes,'on'); %# Subsequent plots won't replace existing data
end
将上述函数保存到您的上,您可以通过使用同一组输入数据调用make_my_figure
三次并将其返回的句柄存储在单独的变量中,来制作图形的三个副本:
x = rand(1,100);
y = rand(1,100);
[hFigure1,hAxes1] = make_my_figure(x,y);
[hFigure2,hAxes2] = make_my_figure(x,y);
[hFigure3,hAxes3] = make_my_figure(x,y);
您可以向第二个图形的轴添加数据,如下所示:
plot(hAxes2,rand(1,100),rand(1,100));
MATLAB的内置函数也应该可以工作。下面是一个例子:
peaks;
f2=copyobj(gcf,0);
生成设置所有参数的函数的一种方便方法是,使用所有数据(包括3D点)和所有格式创建第一个图形,然后从“文件”菜单中选择命令(查看此处链接的教程) 这将创建一个可以保存在Matlab路径上的函数,稍后可以使用新输入调用该函数,以使用新数据创建第一个图形的精确克隆