我使用scatter
绘制了几个点,然后使用text
标记它们。这些标签的位置与点的位置+一些偏移相同。其中一些文本标签相互重叠,因此我以交互方式移动它们(使用鼠标)。我可以使用属性编辑器单独检查每个文本的新位置。然而,这非常耗时。有没有更好的方法来获取所有这些文本标签的坐标?
答案 0 :(得分:1)
您可以使用findobj获取当前轴的子项(或其他句柄...您的选择)的文本对象的句柄:
text_handles = findobj('parent',gca,'type','text');
然后你可以得到这些文本对象的位置:
positions = get(text_handles,'position');
您可能需要做更多的工作来将每个文本对象与其数据点相关联 - 我建议利用属性系统,可能通过UserData
字段,尽管有很多选项。
答案 1 :(得分:0)
如果您想稍后轻松完成,请在您的图中执行此操作,例如:
h=text(2.9,7.5,'MyText');
这将使" MyText"位置2.9和7.5。
然后改变位置使用:
set(h,'Position',[2.5 7]);
这会将位置更改为2.5和7。
稍后如果您需要再次查看文本的位置,请使用:
get(h);
希望这有帮助。