2012-06-08 53 views
1

我有25对(x,y)坐标。每对都对应一个国家。我想在散点图上绘制25个点,并将散点图上的点旁边的每个点的国家名称。我无法弄清楚如何在MATLAB或Octave中做到这一点(我有MATLAB和Octave,不介意我使用哪个,这就是为什么我要问这两个问题)。带注释的散点图matlab/octave

假设我将(x,y)坐标和相应的国家/地区标签放在25行和3列的矩阵中,标签位于第一列。有谁知道我可以用于所需图形的命令吗?

回答

2

字符串在矩阵中播放不好,所以我会稍微调整一下存储格式。以下是测试数据:一个25x2的坐标矩阵和一个25x1的字符串数组。

p = rand(25,2); 
names = repmat({'name'}, 25, 1) 

你必须略有偏移玩,但这里的想法:

scatter(p(:,1), p(:,2)) 
%# Compute some offsets for the lower-left of the text box, based 
%# on overall size of the plot 
offset_x = diff(xlim) * .01; 
offset_y = diff(ylim) * .01; 
text(p(:,1)+offset_x, p(:,2)+offset_y, names) 
+0

的感谢!完美的作品! – Andrew