How to use existing plots in a new plot?
30 次查看(过去 30 天)
显示 更早的评论
I am trying to use three existing plots to make a new plot. I also want to resize the original plots and organise them with the following dimensions:
figure;
pos1= [0.1, 0.1, 0.2, 0.6];
subplot('Position',pos1)
pos2= [0.35, 0.75, 0.6, 0.20];
subplot('Position',pos2)
pos3= [0.35, 0.1, 0.6, 0.60];
subplot('Position',pos3)
I have tried with the copyobj function but I cannot make it work. I would appreciate if you guys can help me to solve this problem. What I have is:
%create a figure
figure;
surf(peaks)
%get axes
ax1=gca;
%create a new figure
fnew=figure(2);
%copy first figure
ax1_copy = copyobj(ax1,f4);
subplot(2,2,2,ax1_copy)
%copy second figure
ax2_copy = copyobj(ax1,f4);
subplot(2,2,3,ax2_copy)
%copy third figure
ax3_copy = copyobj(ax1,f4);
subplot(2,2,4,ax3_copy)
回答(2 个)
Adam Danz
2018-8-21
First, store the handles to your figure and axes like this.
f1 = figure;
pos1= [0.1, 0.1, 0.2, 0.6];
sp1 = subplot('Position',pos1);
pos2= [0.35, 0.75, 0.6, 0.20];
sp2 = subplot('Position',pos2);
pos3= [0.35, 0.1, 0.6, 0.60];
sp3 = subplot('Position',pos3);
After you're done plotting, copy content from figure 1 to figure 2. You must enter the handles to each axis and the handle to the new figure.
f2 = figure;
cloneHand = copyobj([sp1, sp2, sp3], f2);
0 个评论
Julie
2018-8-21
It's a bit of a workaround, but if copyobj failed you can just read the data off of the existing plots using THIS METHOD. Then re-plot in the subplot structure.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Subplots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!