How to set axis as -pi to pi ?

144 ビュー (過去 30 日間)
Leena
Leena 2014 年 3 月 23 日
コメント済み: ibrahim guler 2020 年 5 月 6 日
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.

採用された回答

Mischa Kim
Mischa Kim 2014 年 3 月 23 日
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 件のコメント
Leena
Leena 2014 年 3 月 23 日
It worked. Thank u so much :)

サインインしてコメントする。

その他の回答 (2 件)

Chris J
Chris J 2019 年 1 月 4 日
編集済み: Chris J 2019 年 1 月 4 日
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 2019 年 9 月 11 日
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 件のコメント
ibrahim guler
ibrahim guler 2020 年 5 月 6 日
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.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by