copy legend information - 2014b
    27 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi, I want to copy few figures into a new figure with subplots. Hence as the initial step i intend to copy axes and legend information. In 2014b legend information saved as a object type.
% existing figure
 h = surf(peaks);
colormap hsv
 legend('temperature')
% new figure
fig = figure;
ax = axes;
new_handle = copyobj(h,ax);
colormap(fig,hsv)
view(ax,3)
grid(ax,'on')
How can I import the legend data and position to the new figure in matlab 2014b.
0 Commenti
Risposte (1)
  Vivek Jadye
    
 il 4 Ott 2014
        It is quite easy to copy axes and corresponding legend to a new figure. All you have to do is to use copyobj function as follows.
If you want to copy a specific axes and corresponding legend to a new figure it could be done this way
 % existing figure
h = surf(peaks);
colormap hsv 
leg = legend('temperature'); %Store legend object for copying
ax = findobj(gcf,'type','axes'); %Retrieve the axes to be copied
% new figure
fig = figure;
copyobj([leg,ax],fig);
colormap(fig,hsv);
If you intend to copy every figure child to a new figure you can simply do the following.
 % existing figure 
 h = surf(peaks);
colormap hsv 
legend('temperature'); 
oldfig = gcf;
% new figure
fig = figure;
copyobj(oldfig.Children,fig);
colormap(fig,hsv);
Hope this helps.
Cheers!
3 Commenti
  Keith Rogers
 il 15 Lug 2015
				Looks like you can get the legend handle for a particular axes object with syntax like "legh = legend(ax)"
You can also do legend(ax,'show') or legend(ax,'hide')
Vedere anche
Categorie
				Scopri di più su Legend in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



