如何使用matlab在茎图中的每个数据点上放置标签

时间:2015-02-05 16:22:13

标签: matlab label scatter-plot

所以这是我的x和y数据:

x = [29.745, 61.77, 42.57,  70.049, 108.51, 93.1,   135.47, 52.79,  77.91,  116.7,  100.71, 146.37, 125.53]
y = [6, 6, 12,  24, 24, 12, 24, 8,  24, 24, 24, 48, 8]

stem(x,y);

所以我想标记我的干图上的每个数据点,这我想要输出我想要的:enter image description here

我用油漆编辑它,matlab可以做这个垂直标签吗?那图像是什么样的?请帮忙。

1 个答案:

答案 0 :(得分:1)

是的,它可以!您只需要提供值为90的文本注释的rotation属性,它就可以正常工作。

示例:

clear
clc


x = [29.745, 61.77, 42.57,  70.049, 108.51, 93.1,   135.47, 52.79,  77.91,  116.7,  100.71, 146.37, 125.53]
y = [6, 6, 12,  24, 24, 12, 24, 8,  24, 24, 24, 48, 8]

hStem = stem(x,y);

%// Create labels.
Labels = {'none'; 'true';'false';'mean';'none';'';'true';'hints';'high';'low';'peas';'far';'mid'}

%// Get position of each stem 'bar'. Sorry I don't know how to name them.
X_data = get(hStem, 'XData');
Y_data = get(hStem, 'YData');

%// Assign labels.
for labelID = 1 : numel(X_data)
   text(X_data(labelID), Y_data(labelID) + 3, Labels{labelID}, 'HorizontalAlignment', 'center','rotation',90);
end

其中包含以下内容:

enter image description here

最后一个标签有点高,所以你可能想重新调整轴,但你明白了。