How to set axis as -pi to pi ?

416 次查看(过去 30 天)
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'})

更多回答(2 个)

Chris Jennings
Chris Jennings 2019-1-4
编辑:Chris Jennings 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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Analysis, Benchmarking, and Verification 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by