以编程方式将文本注释添加到图形

Posted

技术标签:

【中文标题】以编程方式将文本注释添加到图形【英文标题】:Adding text annotation to figure programmatically 【发布时间】:2011-07-16 11:54:58 【问题描述】:

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

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

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

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

【问题讨论】:

尝试删除'Units'='pixels'部分:mathworks.com/help/techdoc/ref/text.html#f68-560943 您好,我注意到您参与了“医疗保健 IT”堆栈交换,并认为您可能对此提案感兴趣 -> Healthcare Industry 【参考方案1】:

正如我在 cmets 中提到的,您应该使用标准化单位将事物放置在与数据相同的坐标系中。

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

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

【讨论】:

以上是关于以编程方式将文本注释添加到图形的主要内容,如果未能解决你的问题,请参考以下文章

将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?

iOS 以编程方式添加 UITextField 在编辑时不会将文本滚动到光标位置

以编程方式将 <br>-元素添加到跨度内的文本不会断行

用户输入不适用于在表格视图中以编程方式添加的文本字段

Android添加边框以编程方式编辑文本

以编程方式将新行添加到数据网格视图