如何删除极坐标图上的 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
,你的极轴对象。这具有您要更改的所有属性。
我正在尝试绘制阿基米德螺旋线:
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
,你的极轴对象。这具有您要更改的所有属性。