我想向使用 GUIDE 制作的 GUI 中的图形添加文本注释。首先,我绘制了一些数据,然后当用户单击复选框时,我在事件处理程序中调用文本函数,如下所示:
text(obj.XData(q), obj.YData(q)+10, int2str(q), 'Units', 'pixels');
obj
是线对象本身,q
是图中每个点的计数器。它运行没有错误,但没有任何反应。我想我应该以某种方式“刷新”轴,但刷新命令没有帮助,我在文档中没有找到任何内容。
编辑:我发现我的代码是错误的:像素单位对应的坐标系原点是我的轴控件的左下角,这和我的不一样数据坐标系。我用 ds2nfu
解决了这个问题,当我在绘制之前绘画时,一切都很好。但是在绘制之后我什么也看不到。注释是否可能存在某种 z 顺序问题?
最佳答案
正如我在评论中提到的,您应该使用标准化单位将事物放置在与数据相同的坐标系中。
现在是另一个问题。我不确定这是否是 z 顺序问题,但如果是,您可以使用 UISTACK 将文本置于最前面。 :
hText = text(x,y,'str');
uistack(hText, 'top')
关于matlab - 以编程方式向图形添加文本注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717166/