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 Graphics 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!