How to set axis as -pi to pi ?

695 views (last 30 days)
Leena
Leena on 23 Mar 2014
Commented: ibrahim guler on 6 May 2020
Hi. I have attached my program for the radiation pattern of the horn antenna. I want to have a graph which should have axis from -pi to pi. but I cant do it. When I use set(gca,'XTick',-pi:pi/2:pi) set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'}) command, the figure appears to be some what like I have attached. Please help.

Accepted Answer

Mischa Kim
Mischa Kim on 23 Mar 2014
Leena, in the code you are converting the angels (x-axis) from rad to deg. Also it seems like the angular range is between 0 and 360 deg. Therefore,
  • remove the conversion factor, e.g., e = theta, or simply use theta for plotting,
  • and set
set(gca,'XTick',0:pi/2:2*pi)
set(gca,'XTickLabel',{'0','pi/2','pi','3*pi/2','2*pi'})
  1 Comment
Leena
Leena on 23 Mar 2014
It worked. Thank u so much :)

Sign in to comment.

More Answers (2)

Chris Jennings
Chris Jennings on 4 Jan 2019
Edited: Chris Jennings on 4 Jan 2019
or better still use \pi to generate nice pi characters, for example:
set(gca,'XTick',-2*pi:pi:2*pi)
ax.XTickLabel = {'-2\pi','-\pi','0','\pi','2\pi'};

Ítalo Pedrosa
Ítalo Pedrosa on 11 Sep 2019
I had the same problem. Reading the comments, I did:
function plot_radian(X, int, Y)
axisX = X(1):int:X(end);
plot(X, Y)
set(gca,'XTick',axisX)
set(gca,'XTickLabel', string(sym(axisX)))
grid on
Solved my problem for any situations. But you need the syms
  1 Comment
ibrahim guler
ibrahim guler on 6 May 2020
If you have so many points to plot it would crash your program. Therefore, you should add some restriction in the begining of the function I think.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by