2012-06-08 3 views
1

나는 25 쌍의 (x, y) 좌표를 가지고있다. 각 쌍은 국가에 해당합니다. 분산 형 그래프의 25 개 점을 플롯하고 각 점의 국가 이름을 분산 형 그래프의 점 옆에 직접 표시하려고합니다. MATLAB이나 Octave에서 MATLAB과 Octave를 사용하는 방법을 이해할 수 없습니다. (MATLAB과 Octave를 모두 사용하고 있어도 상관 없습니다.annotated scatter graph 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