0

我使用 绘制了几个点scatter,然后使用text. 这些标签的位置与点的位置+一些偏移量相同。其中一些文本标签相互重叠,因此我以交互方式移动它们(使用鼠标)。我可以使用属性编辑器单独检查每个文本的新位置。然而,这是非常耗时的。有没有更好的方法来获取所有这些文本标签的坐标?

4

2 回答 2

1

您可以使用findobj获取作为当前轴子的文本对象的句柄(或另一个句柄......您的选择):

text_handles = findobj('parent',gca,'type','text');

然后你可以得到这些文本对象的位置:

positions = get(text_handles,'position');

您可能需要做更多的工作来将每个文本对象与其数据点相关联——我建议UserData为此利用属性系统,也许通过字段,尽管有很多选项。

于 2012-07-14T04:15:28.777 回答
0

如果您想稍后在绘图中轻松执行此操作,例如:

h=text(2.9,7.5,'MyText');

这会将“MyText”放在位置 2.9 和 7.5。

然后改变位置使用:

set(h,'Position',[2.5 7]);

这会将位置更改为 2.5 和 7。

稍后如果您需要再次查看文本的位置,请使用:

get(h);

希望这可以帮助。

于 2012-07-14T01:02:49.267 回答