在轴数据单位中查找文本图形范围
3次浏览(过去30天)
显示旧的注释
我需要在多边形上显示和隐藏标签,如果标签对多边形来说太大,我需要隐藏它。如果标签小于多边形,我将再次显示它。
为了做到这一点,我找到了一种方法,通过使用文本范围属性。
Label = text(ax,0,0,“一个”,“可见”,“关闭”);
Extent = get(标签,“程度”);
删除(标签);
将Extent转换为区域…
Extent_x = [0 extent(3) 0];
Extent_y = [extent(4) extent(4) 0 0];
characterAreaMapUnits = polyarea(extent_x,extent_y);
当我以一种过于“3D”的方式移动摄像机时,这似乎会崩溃,当这种情况发生时,文本对象的范围属性返回为[NaN NaN NaN NaN]。文档没有告诉我这种情况会发生,所以我不能确定是什么导致了这种情况。有什么原因吗?有没有更好的方法来查找文本对象的面积?
当我将文本对象的“单位”更改为“数据”以外的任何东西时,这似乎永远不会发生,但我需要在数据单位中正确地将其与标签标记的多边形进行比较。