Fixing the Radial Axis on MATLAB Polar Plots

£可爱£侵袭症+ 提交于 2019-11-30 08:08:46

问题


I'm using polar plots (POLAR(THETA,RHO)) in MATLAB.

Is there an easy way to fix the range for the radial axis to say, 1.5?

I'm looking for something analogous to the xlim, ylim commands for cartesian axes. Haven't found anything in the docs yet.


回答1:


Here's how I was able to do it.

The MATLAB polar plot (if you look at the Handle Graphics options available) does not have anything like xlim or ylim. However, I realized that the first thing plotted sets the range, so I was able to plot a function with radius range [-.5 .5] on a [-1 1] plot as follows:

theta  = linspace(0,2*pi,100);
r      = sin(2*theta) .* cos(2*theta);
r_max  = 1;
h_fake = polar(theta,r_max*ones(size(theta)));
hold on;
h      = polar(theta, r);
set(h_fake, 'Visible', 'Off');

That doesn't look very good and hopefully there's a better way to do it, but it works.




回答2:


this worked for me... i wanted the radius range to go to 30, so i first plotted this

polar(0,30,'-k')
hold on

and then plotted what i was actually interested in. this first plotted point is hidden behind the grid marks. just make sure to include

hold off

after your final plotting command.




回答3:


Simple solution is to make a fake graph and set its color to white.

fake=100;
polar(0,fake,'w');
hold on;

real=10;
polar(0,real,'w');



回答4:


In case anyone else comes across this, here's the solution:

As Scottie T and gnovice pointed out, Matlab basically uses the polar function as an interface for standard plots, but with alot of formatting behind the scenes to make it look polar. Look at the values of the XLim and YLim properties of a polar plot and you'll notice that they are literally the x and y limits of your plot in Cartesian coordinates. So, to set a radius limit, use xlim and ylim, or axis, and be smart about the values you set:

rlim = 10;
axis([-1 1 -1 1]*rlim);

...that's all there is to it. Happy Matlabbing :)



来源:https://stackoverflow.com/questions/226315/fixing-the-radial-axis-on-matlab-polar-plots

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!