添加文本注释以编程方式进行图形化

时间:2011-07-16 11:54:59

标签: matlab user-interface plot

我想在使用GUIDE制作的GUI中为图形添加文本注释。首先我绘制一些数据,比用户点击复选框时我在事件处理程序中调用文本函数,如下所示:

text(obj.XData(q), obj.YData(q)+10, int2str(q), 'Units', 'pixels');

obj是线对象本身,q是图中每个点的计数器。它运行没有错误,但没有任何反应。我想我应该以某种方式“刷新”轴,但刷新命令没有帮助,我在文档中没有找到任何内容。

编辑:我发现我的代码错误了:像素单位对应的坐标系原点是我的轴控件的左下角,这与我的不一样数据坐标系。我用ds2nfu解决了这个问题,当我在绘图之前画一切都很好。但是在策划之后我什么也没看见。注释是否可能存在某种z次序问题?

1 个答案:

答案 0 :(得分:1)

正如我在评论中提到的,你应该使用规范化单位将事物放在与数据相同的坐标系中。

现在解决另一个问题。我不确定这是否是z顺序问题,但如果是,您可以使用UISTACK将文本置于最前面:

hText = text(x,y,'str');
uistack(hText, 'top')