有没有人知道在MATLAB的极坐标图中从参数轴中删除标签的简单方法?我的数字很小,我必须放大才能看到它们,但是当我这样做时,来自一个子图的参数标签会妨碍其他子图。
同样,如果有人知道通过在径向方向重新调整轴来解决这个问题的方法,或任何解决方案,那么我将非常感激。对于平均时间,我将不得不在Latex中修剪和重新调整大小。
我在这里尝试了这个方法
How to remove Rho labels from Matlab polar plot?
但它不起作用。
这是一些示例代码
subplot(1,3,1,'align');
r = 10;
polar(t,abs((r.*exp(t.*1i) - (1+1i)).^2));
set(gca, 'fontsize', 20)
set(findall(gca, 'String', '0'),'String', ' ') %remove theta labels
hold on
答案 0 :(得分:4)
给出以下示例输入:
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r')
您可以通过仅保留合法标签来删除垂直标签(沿rho)。
% Find all handles to text labels
h = findall(gca,'type','text');
% Define what to keep
legit = {'0','30','60','90','120','150','180','210','240','270','300','330','360',''};
% Take the others and set them to empty string
idx = ~ismember(get(h,'string'),legit);
set(h(idx),'string','')
编辑处理评论
一种方法是简单地设置为空''
个字符legit
定义的标记,即删除~
附近的ismember
。但是,这种方法并不强大,因为它会删除所有匹配的标签。假设您有一些其他标签120
,那么它也将被移除。
解决此问题的一种方法是通过在径向注释中添加polar()
来修改第155行和第162行的'Tag'
:
'HandleVisibility', 'off', 'Parent', cax,'Tag','spoke');
然后,保存已编辑的功能,绘图,检索这些文本标签,并设置为空字符串:
h = findall(gca,'Type','text','-and','Tag','spoke');
set(h,'string','')