2012-06-08 50 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