在极坐标图上放置文本
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
命令为绘图添加注释。因此,您需要根据 testAngle
和 testRng
.
计算实际的 x
和 y
值
以下代码绘制了一些点并为它们分配了单独的文本:
% 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');
我正在使用极坐标图,我想让小方块在绘图周围移动。我正在使用以下命令绘制那些
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
命令为绘图添加注释。因此,您需要根据 testAngle
和 testRng
.
x
和 y
值
以下代码绘制了一些点并为它们分配了单独的文本:
% 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');