Limits of polar plots axes

조회 수: 4 (최근 30일)
alberto tonizzo
alberto tonizzo 2023년 1월 30일
댓글: Walter Roberson 2023년 1월 31일
Hello, please see the code atatched that makes a polar plot and adds transparency to it with the included (in the body) function "updateTransparency". The mat file to load is also attached (i.e. 'PolarPlotIssue_v1.mat').
The problem is that if lines 6-8 are commented out (if excluding angles large than 40 degrees), the polar plot becomes very small, i.e. it's not scaled.
How do I make the polar plot as large as the original (when lines 6-8 are NOT commented out)?
THANK YOU!

채택된 답변

Walter Roberson
Walter Roberson 2023년 1월 31일
You are using polar() which is the older function that uses cartesian axes. It is difficult to customize.
We would normally recommend that you switch to polarplot() but I see that you have hold on and overlay a semi-transparent contourf() which is based on cartesian coordinates.
the = linspace(0,2*pi);
r = the.^2 - cos(the);
h = polar(the,r);
findall(h.Parent)
ans =
33×1 graphics array: Axes Line Text (0) Text (180) Text (330) Text (150) Text (300) Text (120) Text (270) Text (90) Text (240) Text (60) Text (210) Text (30) Line Line Line Line Line Line Text ( 40) Line Text ( 30) Line Text ( 20) Line Text ( 10) Line Patch Text Text Text Text
You can see that the older polar() throws up a bunch of text objects for labels, and draws a bunch of line() for the spokes and radii. There are no internal controls for polar() that limit angles.
  댓글 수: 2
alberto tonizzo
alberto tonizzo 2023년 1월 31일
@Walter Roberson do you know how to use contourf() with polarplot()?
Or is there another way to create polar plots in Matlab?
Thanks
Walter Roberson
Walter Roberson 2023년 1월 31일
contourf cannot be used with polarplot()
You would have to extract the contour boundaries and convert them to polar coordinates and polarplot those. But angles would very likely go out of range.
It would perhaps be easier to create a second axes in the same position as the first, with axes background color 'none' and possibly using alpha (transparency).
I do not know at the moment whether it is possible to use yyaxis between numeric axes and a polar axes. I would tend to suspect not.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Polar Plots에 대해 자세히 알아보기

태그

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by