Navigation

Operators and Keywords

Function List:

C++ API

: hnew = copyobj (horig)
: hnew = copyobj (horig, hparent)

Construct a copy of the graphic objects associated with the handles horig and return new handles hnew to the new objects.

If a parent handle hparent (root, figure, axes, or hggroup) is specified, the copied object will be created as a child of hparent.

If horig is a vector of handles, and hparent is a scalar, then each handle in the vector hnew has its "Parent" property set to hparent. Conversely, if horig is a scalar and hparent a vector, then each parent object will receive a copy of horig. If horig and hparent are both vectors with the same number of elements then hnew(i) will have parent hparent(i).

See also: struct2hdl, hdl2struct, findobj.

Demonstration 1

The following code

 hobj = clf;
 set (hobj, "name", "Original", "numbertitle", "off");
 hold on;
 x = 1:10;
 y = x.^2;
 dy = 2 * (.2 * x);
 y2 = (x - 3).^2;
 hg = errorbar (x, y, dy);
 set (hg, "marker", "^", "markerfacecolor", rand (1,3));
 plot (x, y2, "ok-");
 legend ("errorbar", "line");
 drawnow ();
 pos = get (hobj, "position");
 scrn = get (0, "screensize");
 set (hobj, "position", [scrn(3)/2-pos(3)-10, scrn(4)/2-pos(4)/2, pos(3:4)]);
 drawnow ();
 hnew = copyobj (hobj);
 drawnow ();
 set (hnew, "name", "Copyobj");
 drawnow ();
 set (hnew, "position", [scrn(3)/2, scrn(4)/2-pos(4)/2, pos(3:4)]);
 drawnow ();

Produces the following figures

Figure 1 Figure 2

Demonstration 2

The following code

 hobj = clf;
 set (hobj, "name", "Original", "numbertitle", "off");
 subplot (2,2,1);
  hold on;
  contourf (rand (10, 10));
  colorbar ();
 subplot (2,2,2);
  quiver (rand (10, 10), rand (10, 10));
 subplot (2,2,3);
  colormap (jet (64));
  hold on;
  sombrero ();
  colorbar ("peer", gca, "NorthOutside");
 subplot (2,2,4);
  imagesc (rand (30, 30));
  text (15, 15, "Rotated text", ...
        "HorizontAlalignment", "Center", "Rotation", 30);
 drawnow ();
 pos = get (hobj, "position");
 scrn = get (0, "screensize");
 set (hobj, "position", [scrn(3)/2-pos(3)-10, scrn(4)/2-pos(4)/2, pos(3:4)]);
 drawnow ();
 hnew = copyobj (hobj);
 drawnow ();
 set (hnew, "name", "Copyobj");
 drawnow ();
 set (hnew, "position", [scrn(3)/2, scrn(4)/2-pos(4)/2, pos(3:4)]);
 drawnow ();

Produces the following figures

Figure 1 Figure 2

Package: octave