matlab - 以编程方式向图形添加文本注释

标签 matlab user-interface plot

我想向使用 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/

相关文章:

python - 在 numpy 中重复 matlab dyadup

ios - 根据 UITableView Cell 内不同屏幕尺寸的文本长度计算 UILabel 高度

python - 如何更改颜色条以与 Matplotlib 中的主图对齐?

matlab - 要求 mex 为 #include 文件使用多个目录

matlab - 滤波后低频移位

c++ - 在 C++ 中的 Qt 中向 UI 动态添加未知数量的按钮

java - 如何从 keyevent 方法调用文本字段变量?

python - 由于 Figsize,x 标签位于我的图形之外

r - R 中的温度曲线

performance - 加权 Gram-Schmidt 正交化的 MATLAB 优化