how can I make a colored 2D-surface in a polar plot? I want to give some labels to this polar... It is possible?
Show older comments
clc
c=input('How many blades are there in the blower?:');
t = 0:.01:2*pi;
if mod(c,2)==1 polar(t,(cos((c*t))),'-r') else polar(t,(cos((c/2)*t).^2),'-r') end
% find all of the text objects in the polar plot
h = findall(gcf,'type','text');
% delete the text objects
delete(h);
Accepted Answer
More Answers (2)
bio lim
on 8 Jul 2015
clc
c=input('How many blades are there in the blower?:');
t = 0:.01:2*pi;
if mod(c,2)==1
radius = cos(c*t);
radius(radius <= 0) = 0;
ph = polar(t,(radius),'-r')
else
ph = polar(t,(cos((c/2)*t).^2),'-r')
end
% find all of the text objects in the polar plot
h = findall(gcf,'type','text');
% delete the text objects
delete(h);
patch(get(ph,'XData'), get(ph, 'YData'), 'b')
The rest is the code from Cheng, except the 'fins' was renamed to 'Blade' as the image suggested.
fins = linspace(0,360,c+1);
for ind = 1:c
txtx = 1.2 * cosd(fins(ind));
txty = 1.2 * sind(fins(ind));
text(txtx,txty,['Blade ' num2str(ind)])
end
Starting in R2025a, polar axes support patch and surface objects.
There's more info about patch and surface support in polar axes in the Graphics and App Building blog.
c = 8;
t = linspace(0,2*pi,1000);
pax = polaraxes();
if mod(c,2)==1
patch(pax,t,(cos((c*t))),'-r')
else
patch(pax,t,(cos((c/2)*t).^2),'-r')
end
Categories
Find more on Polar Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
