MATLAB Answers

How to label the x axis of a polar plot?

148 views (last 30 days)
katelyn sowden
katelyn sowden on 14 Dec 2020
Commented: Cris LaPierre on 14 Dec 2020
So far I've found a way to lable the radial axis, but one of my old tests asks me to lable the x-axis, and I can't figure out a way to do it. Is there a version of this for the x axis? I'm supposed to name it 't'. Any help is appriciated!
ax = polaraxes;
ax.RAxis.Label.String = 'r';

  0 Comments

Sign in to comment.

Answers (2)

Cris LaPierre
Cris LaPierre on 14 Dec 2020
A polar plot does not have a x-axis. It is defined by R and Theta.
For labels, there is a title, subtitle, and legend.
You can see a full list of properties here.

  3 Comments

katelyn sowden
katelyn sowden on 14 Dec 2020
Thank you for the reply. I'm bad with coordinates but is there an easy way to put a subtitle under the plot?
Cris LaPierre
Cris LaPierre on 14 Dec 2020
Not with subtitle, though that is a property. Best is probably a text box, as the other answer shows.
Cris LaPierre
Cris LaPierre on 14 Dec 2020
Actually, that's not entirely true. You could set the position property, though it's operating on the same principle as text.
polarplot([0 pi/2 pi],[1 2 3])
ax = gca;
d = ax.ThetaDir;
ax.ThetaDir = 'clockwise';
title('Clever Title');
subtitle('An Insightful Subtitle',"Position",[90,3.8],"HorizontalAlignment","center")

Sign in to comment.


Kelly Kearney
Kelly Kearney on 14 Dec 2020
You can label polar axes with text objects. I find the following positioning works well as a default... you may need to play around with coordinates, horizontal and vertical alignment, and rotation to find a combination that works best for you:
rmax = 2;
hax = polaraxes('RLim', [0 rmax]);
text(0, rmax/2, 'R Axis Label', 'horiz', 'center', 'vert', 'top', 'rotation', 0);
text(pi/4, rmax*1.2, 'Theta Axis Label', 'horiz', 'center', 'rotation', -45);

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!