在该地点打印一些文字之前,是否有可能检查Matlab图上某个位置是否有文字?
我的意思是,有时候如果我们有很多曲线,如果我们添加一些音符,它们可能会在某些地方重叠。所以我想根据之前文本之间的距离来调整笔记显示位置。
答案 0 :(得分:1)
您可以使用findobj查找文本对象,并像使用图形对象的任何属性一样获取位置。
示例:
clear
clc
%// Create/plot data
x = -10:10;
y1 = x.^2;
y2 = 2*x-10;
plot(x,y1,'--r',x,y2,'-*k')
%// Add some text
t1 = text(-6,10,'Curve 1');
t2 = text(6,-4,'Curve 2');
该图如下所示:
%// Find text objects. Of course normally you would not know beforehand
%their position
hText = findobj('Type','Text');
%// Get their position
Text1Pos = get(hText(1),'Position')
Text2Pos = get(hText(2),'Position')
这些变量如下所示:
Text1Pos =
6 -4 0
Text2Pos =
-6 10 0
因此,很容易确认在给定位置没有文本对象。
这是你的意思吗?