在极坐标图上放置文本

Putting text on polar plot

我正在使用极坐标图,我想让小方块在绘图周围移动。我正在使用以下命令绘制那些

h(1) = polar(handles.tab2_axes, testAngle, testRng, '-rs');
set( findobj(h(1), 'Type', 'line'), 'LineWidth',1, 'MarkerEdgeColor','r', ...
    'MarkerFaceColor','r', 'MarkerSize',16, 'annotation', text);

绘制了一个角度为 testAngle、半径为 testRng 的红色正方形。我正在尝试让文本 above/below 位于正方形之后的正方形,具体取决于它在情节中的位置。有谁知道实现此目的的简单方法?

您可以使用 text 命令为绘图添加注释。因此,您需要根据 testAngletestRng.

计算实际的 xy

以下代码绘制了一些点并为它们分配了单独的文本:

% to use your variable names
figure;
handles.tab2_axes = axes;

% create sample data
testAngle = [1, 2, 3, 4];
testRng   = [1, 2, 3, 4];
names     = {'object 1', 'object 2', 'object 3', 'object 4'};

% plot points
h(1) = polar(handles.tab2_axes, testAngle, testRng, '-rs');
set( findobj(h(1), 'Type', 'line'), 'LineWidth',1, 'MarkerEdgeColor','r', ...
    'MarkerFaceColor','r', 'MarkerSize',16);

% plot the labels
text(testRng.*cos(testAngle),testRng.*sin(testAngle),names,...
    'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')

结果如下所示:

至少对于 MatlabR2018a 发现文本应该直接在极坐标中指定。例如: 文本(az_angle_in_radiance, r_distance, 'my text');