How to color/shade a sector of a polar plot with customized axis?

조회 수: 66 (최근 30일)
matteog
matteog 2020년 5월 5일
댓글: matteog 2020년 5월 5일
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

채택된 답변

Sean de Wolski
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 CenterFile Exchange에서 Polar Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by