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