带注释的散点图matlab/octave

带注释的散点图matlab/octave,matlab,graph,plot,octave,Matlab,Graph,Plot,Octave,我有25对(x,y)坐标。每一对对应一个国家。我想在散点图上绘制25个点,并在散点图上的点旁边直接显示每个点的国家名称。我不知道如何在MATLAB或Octave中实现这一点(我有MATLAB和Octave,不介意我使用哪一个,这就是为什么我要问这两个问题) 假设我把(x,y)坐标和相应的国家标签放在一个25行3列的矩阵中,标签在第一列。有人知道我可以用于所需图形的命令吗?字符串不能很好地处理矩阵,因此我正在稍微调整您的存储格式。这是测试数据:一个25x2的坐标矩阵和一个25x1的字符串单元格数组

我有25对(x,y)坐标。每一对对应一个国家。我想在散点图上绘制25个点,并在散点图上的点旁边直接显示每个点的国家名称。我不知道如何在MATLAB或Octave中实现这一点(我有MATLAB和Octave,不介意我使用哪一个,这就是为什么我要问这两个问题)


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

字符串不能很好地处理矩阵,因此我正在稍微调整您的存储格式。这是测试数据:一个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)