1

有谁知道在 MATLAB 的极坐标图中从参数轴中删除标签的简单方法?我的数字很小,我必须放大才能看到它们,但是当我这样做时,来自一个子图的参数标签会妨碍其他子图。

同样,如果有人知道通过在径向方向上重新缩放轴来解决这个问题的方法,或者任何解决方案,那么我将非常感激。与此同时,我将不得不在 Latex 中修剪和重新调整大小。


我尝试了这里的方法

如何从 Matlab 极坐标图中删除 Rho 标签?

但它没有用。


这是一些示例代码

    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
4

1 回答 1

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','')

编辑处理评论

一种方法是简单地将''那些定义为 IN 的标签设置为空字符串legit,即通过删除~near ismember。然而,这种方法并不稳健,因为它将删除所有匹配的标签。假设您还有其他带有 的标签120,那么它也会被删除。

解决此问题的一种方法是polar()在第 155 行和第 162 行通过向'Tag'径向注释添加 a 进行编辑:

'HandleVisibility', 'off', 'Parent', cax,'Tag','spoke');

然后,保存编辑后的函数、绘图、检索那些文本标签,并设置为空字符串:

h = findall(gca,'Type','text','-and','Tag','spoke');
set(h,'string','')
于 2013-04-29T18:54:20.353 回答