如何删除极坐标图上的 theta 网格和半径网格?

How do I remove the theta grid and radius grid on a polar plot?

我正在尝试绘制阿基米德螺旋线:

t = linspace(0,5*pi,1000);
a =1;
r = a.*t;
polar(t,r);
grid off;
Ax = gca; 
Ax.ThetaGrid = 'off';
Ax.RGrid = 'off';
Ax.RTickLabel = []; 
Ax.ThetaTickLabel = [];

但是,显示如下错误:

Unrecognized property 'ThetaGrid' for class 'matlab.graphics.axis.Axes'.

如何删除此图片上的网格和标签?

t = linspace(0,5*pi,1000);
a =1;
r = a.*t;
line_handle = polarplot(t,r); % Get line handle
Ax = line_handle.Parent; % Get its parent, i.e. polar axes
grid off;
Ax.ThetaGrid = 'off';
Ax.RGrid = 'off';
Ax.RTickLabel = [];
Ax.ThetaTickLabel = [];

生成

问题在于,首先执行 grid off 以某种方式改变了当前坐标轴,将它们设置回笛卡尔坐标轴。由于笛卡尔坐标区对象未定义极坐标,因此会出现错误。
相反,抓住线上的一个句柄,然后抓住它的 Parent,你的极轴对象。这具有您要更改的所有属性。

PS,MATLAB警告我使用polarplot rather than polar,所以我使用了。