MATLAB Answers

Polarplot axis label: how to edit the value?

15 views (last 30 days)
BeeTiaw
BeeTiaw on 21 Dec 2018
Edited: dpb on 24 Dec 2018
Expert,
Can anyone tell me how is it possible to change the radial axis label in polarplot function? I want the original label to be subtracted by certain value, e.g. 1.0
I just to manipulate the axis label, without changing the value of the data or result. Thus, the plot will essential remain the same, just the label is "manipulated".
Suppose I have the following data:
x = linspace(0,2*pi);
y = cos(x)+ sin(x);
polarplot(x,y)
The results of that function is
Now, what I want is to change the original axis label [0 0.5 1.0 1.5] into [-1 -0.5 0 0.5].
How can we do that?
This is what I expect
Picture2.jpg

  0 Comments

Sign in to comment.

Accepted Answer

dpb
dpb on 21 Dec 2018
hPP=polarplot(x,y); % plot, save handle
hPA=hPP.Parent; % retrieve polar axes handle (parent of polar plot)
hPA.RTickLabel=hPA.RTick-1; % rewrite radius tick labels as desired
hPA.RColor='r'; % change color

  9 Comments

Show 6 older comments
BeeTiaw
BeeTiaw on 22 Dec 2018
Rlab is char in my case
whos Rlab
Name Size Bytes Class Attributes
Rlab 3x4 24 char
>> Rlab
Rlab =
3×4 char array
'-1 '
'-0.5'
'0 '
BeeTiaw
BeeTiaw on 22 Dec 2018
It works fine now after converting the char into cell into your original code:
hP=polarplot(x,y);
hPA=hP.Parent;
Rlab=hPA.RTickLabel;
Rlabstr = cellstr(Rlab);
Rlabstr{1}=''; % clear the one don't want
hPA.RTickLabel=Rlabstr; % and rewrite
Thank you for your kind help dpb!
The code gives me what I want now.
dpb
dpb on 22 Dec 2018
What release of ML???
I've never seen the dot notation return a char array in such a use--is that really the exact code? That's bizzaro, if so.
I think you'd already cleared the first row elements before by the output shown because it's
>> whos Rlab
Name Size Bytes Class Attributes
Rlab 3x4 24 char
>>
and is already 3x4 instead of 4x4 elements as it would be if hadn't already eliminated the first element. I think you inadvertently must have done something else to have caused the conversion from cell array to char array.
I just reran the sample here and even after clearing the first label content in the cell array and rewriting, as expected if one retrieves the new 'RTickLabel' content, it's still a cell array of four elements.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by