Hi, I am trying to using the period marker to fill circles drawn using viscirlces but I cannot get the sizes to line up exaclty. I want the period marker to be the exact same size as the raidus 12 circle. Below is the code I am using, and I have attached what the figure it produces. Any help would be greatly appreiciated. figure(); % Axis Labels axis([-100, 100 -100 100]); fontsize = 12; xlabel('X', 'Fontsize', fontsize); ylabel('Y', 'Fontsize', fontsize); hold on % Plot Outerboundary Circular Plane x_c = 0; y_c = 0; radii_plane = 80; radii_vein = 4; radii_inf_range = 12; center_plane = [x_c, y_c]; % center point of circular plane viscircles(center_plane, radii_plane, 'color', 'b'); hold on % VNA 5076 Start Influence Range Plot VNA = [0,80;69.2820323027551,40.0000000000000;-69.2820323027551,40.0000000000000;0,-80;-69.2820323027551,-40.0000000000000;69.2820323027551,-40.0000000000000]; % Starting VNA %VNA = ; % Ending VNA SizeXY = size(VNA,1); VNAx = VNA(:,1); VNAy = VNA(:,2); plot(VNAx, VNAy, '.', 'color', 'r', 'markersize', pi*6^2); for i = 1:SizeXY centers_nodeXY = [VNAx(i), VNAy(i)]; viscircles(centers_nodeXY, radii_inf_range, 'color', 'r'); end
Prashant Kumar answered .
2025-11-20
h = viscircles(centers_nodeXY, radii_inf_range, 'color', 'r');
xd = h.Children(1).XData(1:end-1); %leave out the nan
yd = h.Chidren(1).YData(1:end-1);
fill(xd, yd, 'r');
recangle([centers_nodeXY-radii_inf_range, 2*radii_inf_range, 2*radii_inf_range], 'Curvature', [1 1], 'FaceColor', 'r', 'EdgeColor', 'r');
The subtraction is because rectangle needs a lower left corner and a width and height, whereas viscircles() uses center and radius.