如何利用代码标注 MATLAB 图像上的某些点
2016-04-20 19:54
1016 查看
在 MATLAB 作图时,可利用 Data Cursor 标注曲线上的点。但是,该方式很难用代码实现。在某些情况下(如利用 MATLAB 自带的 Publish 做笔记),需要用代码标注图中的某些点。这时可以利用本文所提的方法。该方法虽比较粗放,但用于做笔记已足够。
简答来说,本文方法是利用 textarrow 来实现的。下面给了一个具体例子。
1、可在想标注的位置添加 Cursor 来标注该点,为手动添加箭头提供参考点。
2、手动标注箭头
标注完毕后的结果如下图所示。
3、查看箭头位置
生成代码,查看箭头位置。
具体箭头位置如下图所示。若图中的四个数字分别为[x1 x2],[y1 y2],则表示箭头从 (x1,y1) 指向 (x2,y2).
上述代码得到的图形如下。
得到的图形如下:
注意:上图中的 cursor 是通过手工加上去的。可以看到,经过简单调节后的箭头位置准确指向了我们想要的点。
申明:本博文来自 xinhuasz 的博客,地址为 http://blog.csdn.net/xinhuasz。
简答来说,本文方法是利用 textarrow 来实现的。下面给了一个具体例子。
一、确定箭头的位置
在 MATLAB 中,可以利用 annotation 并配合 textarrow 来标注某个点。 该方式需要箭头的位置。但是,计算箭头的位置比较困难。因此,可手动标注箭头来获取箭头的大致位置。1、可在想标注的位置添加 Cursor 来标注该点,为手动添加箭头提供参考点。
2、手动标注箭头
标注完毕后的结果如下图所示。
3、查看箭头位置
生成代码,查看箭头位置。
具体箭头位置如下图所示。若图中的四个数字分别为[x1 x2],[y1 y2],则表示箭头从 (x1,y1) 指向 (x2,y2).
二、利用获取的位置画箭头
close all; x = 0:0.01:2*pi; y = sin(x); figure(2); plot(x,y); index = find ( x == 2.66); %获取x为2.66时的位置,为获取对应的y值做准备 annotation('textarrow',[0.496428571428571 0.435714285714286],... [0.784714285714286 0.714285714285714],'String',['x = ',num2str(x(index)),',y = ',num2str(y(index))]);
上述代码得到的图形如下。
三、细调箭头的位置
从上图看到,箭头离 y=sin(x) 曲线有一定的距离。可细调箭头的位置使指示的点更加准确。将上述代码中的最后一句修改为annotation('textarrow',[0.49 0.425],... [0.78 0.705],'String',['x = ',num2str(x(index)),',y = ',num2str(y(index))]);
得到的图形如下:
注意:上图中的 cursor 是通过手工加上去的。可以看到,经过简单调节后的箭头位置准确指向了我们想要的点。
结论
该方式可较为快捷地通过代码来标注 MATLAB 曲线中某些点的值。申明:本博文来自 xinhuasz 的博客,地址为 http://blog.csdn.net/xinhuasz。
相关文章推荐
- Matlab函数备忘1
- DeepLearning: 数据预处理3:分割数据集(matlab代码)
- matlab isosurface函数绘制隐函数曲面
- PCA源代码 基于MATLAB的
- MATLAB文件夹路径生成list
- MATLAB算数运算符及常见函数
- Matlab图像处理之灰度变换函数
- 协方差矩阵的概念及matlab计算
- fasterRCNN编译与测试
- DeepLearning: 数据预处理2:图片resize(matlab代码)
- 用Matlab把散点拟合成曲面图
- DeepLearning: 数据预处理1:文件(夹)更名与label的获取(matlab代码)
- C/C++ 中调用matlab 的两种方式
- NS方程由精确解求源项matlab代码
- ubuntu12.04下配置opencv2.4.9,nvida显卡驱动,matlab2015a,caffe
- Matlab之fgetl函数
- matlab如何建立一个空矩阵,然后往里面赋值
- matlab中的xcorr 自相关函数
- Matlab 2012安装图解
- MATLAB axis和axes的区别