How to fill closed curves. The code I wrote can't be implemented, I don't know how to correct it, thanks for the answer.

fig = openfig('biaozhunxinyuevv.fig');
fig = gcf;
axObjs = fig.Children;
dataObjs = axObjs.Children;
xt= dataObjs(1).XData;
yt= dataObjs(1).YData;
fill(xt,yt,'r')
plot(xt,yt,'ko')
hold on

Answers (1)

fig = gcf;
axObjs = fig.Children;
dataObjs = axObjs.Children;
xt= dataObjs(1).XData;
yt= dataObjs(1).YData;
fill(xt,yt,'r')
hold on
plot(xt,yt,'ko')

4 Comments

Thanks a lot for your answer. The result of running your code is still not filled with black, as shown in the picture below.
open('biaozhunxinyuevv.fig');
a = get(gca,'Children');
xdata = get(a, 'XData');
xdata = [xdata{1} xdata{3}] ;
ydata = get(a, 'YData');
ydata = [ydata{1} ydata{3}] ;
patch(xdata,ydata,'r')
You can use your ocde also, but extract (1 and 3) data as shown.
I see, the padding is well implemented, thank you very much for your answer.

Sign in to comment.

Categories

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

Asked:

on 11 Mar 2022

Commented:

on 11 Mar 2022

Community Treasure Hunt

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

Start Hunting!