How can I fill a circle after using the viscircles command?

51 次查看(过去 30 天)
I am plotting some circles with certain radius. I want to fill the circles depeding on their colours. I have used the 'viscircle' command of MATLAB. So how can I improve my code? It seems like the facecolour input is not given for viscircles.
for l=1:length(newlist(:,1))
centers= [newlist(l,1) newlist(l,2)];
r=newlist(l,3);
if r == 1.5
k= [1 0 1]
elseif r==3
k=[0 1 0]
end
viscircles( centers, r,'LineStyle','-','LineWidth',0.1,'EdgeColor',k,'Facecolor',k);
%theta = 0 : 0.01 : 2*pi;
%x = r*cos(theta) + xcenter;
%y = r*sin(theta) + ycenter;
end

回答(1 个)

Image Analyst
Image Analyst 2022-9-26
You'll probably have to use rectangle, which can display circles with solid colors.
  3 个评论
Image Analyst
Image Analyst 2022-9-26
Yes you can use patch or fill though I think it's harder than rectangle because with patch and fill you have to make coordinates for all the perimeter points on the circle.

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by