how to plot a Patch variable type

3 views (last 30 days)
Hamid Radmard Rahmani
Hamid Radmard Rahmani on 2 Dec 2018
Answered: Star Strider on 2 Dec 2018
I have saved a Patchline from a figure in a variable using findobj function:
figure(1);
patchVar = findobj(gcf, 'type', 'patch');
now, how can I plot that in another figure?

Answers (1)

Star Strider
Star Strider on 2 Dec 2018
You have to re-plot it with a second patch call:
x = linspace(-1, 1);
y1 = 1.5*x.^2+1;
y2 = x.^2 + 1.5;
figure(1)
patchVar = patch([x, fliplr(x)], [y1 fliplr(y2)], 'g'); % Create ‘patch’ Object
figure(2)
patch(patchVar.XData, patchVar.YData, patchVar.FaceColor)
Also, you do not need the findobj call (although it works, and returns the same information as the handle), you can simply create a handle to the original patch object.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!