How to color/shade a sector of a polar plot with customized axis?
38 次查看(过去 30 天)
显示 更早的评论
Dear all,
I have a problem I hope you could help me through. I am trying to obtain a polar plot like this: i.e. with some sectors colored/shaded, let's say between 30 and 60°, but I'd like to be able to do that for any sector I want, and customized axis (labels, ticks etc).
Now, this is the code I ran:
polarplot(theta, rho); %where theta and rho are my angular and radial data
pax=gca;
pax.ThetaTick= 0:45:360
pax.ThetaGrid= 'off'
pax.FontSize= 10
pax.ThetaTickLabel={'Knee Flexion','Inphase (KF - HF)','Hip Flexion','antiphase (HF - KE)','Knee Extension','Inphase (KE - HE)','Hip Extension','Antiphase (HE - KF)'}
pax.FontWeight='bold'
And what I obtain is something like this: I found no way, with gca options, to color/shade a sector, but I could customize all the rest.
Then I tried to use another option: polar instear of polarplot, with the following code:
teta= linspace(13*pi/8,15*pi/8,500);
rho = [0 100*ones(499,1)'];
a = polar(teta,rho)
patch( get(a,'XData'), get(a,'YData'),[0, 0.4470, 0.7410],'FaceAlpha',0.2)
hold on
a=polar(theta2, rho2, 'o')
%where theta and rho are the contour of the sector I'm shading, and Theta2 and Rho2 are the data I'm interested in representing
And what I get is:
Now, the good news is that I obtain my shaded sector, but I am not able to customize the axis or the thetaticks anymore as in the previous figure.
I hoped to combine patch() with polarplot(), but unfortunately it doesn't seem to work.
May someone give me a hand? In previous discussions I found nothing could help me to fix my problem
Thank you in advance!
Matteo
0 个评论
采纳的回答
Sean de Wolski
2020-5-5
Use a polarhistogram and a polarplot (these are newer replacements for polar). This should give you the flexibility you want.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polar Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!