matlab交互式等高线图

时间:2013-03-13 23:29:11

标签: matlab plot interactive contour

我有一组数据或光谱,用于各种x-y坐标。

看起来像这样:

x       y       spectrum x              spectrum y
-14 -18 35.0286000000000    330.643000000000
-14 -18 33.6069000000000    311.247000000000
-14 -18 32.1849000000000    251.419000000000
-14 -18 30.7628000000000    205.673000000000
-14 -18 29.3404000000000    152.912000000000
-14 -18 27.9178000000000    144.101000000000
-14 -18 26.4949000000000    135.292000000000
-14 -18 25.0719000000000    133.514000000000
-14 -16 35.0286000000000    353.507000000000
-14 -16 33.6069000000000    320.039000000000
-14 -16 32.1849000000000    272.517000000000
-14 -16 30.7628000000000    198.642000000000
-14 -16 29.3404000000000    163.458000000000
-14 -16 27.9178000000000    135.314000000000
-14 -16 26.4949000000000    147.592000000000
-14 -16 25.0719000000000    114.190000000000

等等。

我编写了一个程序,从每个光谱的一个段中取一个斜率,然后制作一个如下所示的新矩阵:

x       y       slope
-14 -18 0.650084924302224
-14 -16 0.751250946346182
-14 -14 0.0666371921219543
-14 -12 0.703160656652351
-14 -10 1.04017251503861

等等。

然后我从该矩阵制作x,y和z矩阵并使用[C,h] = contourfm(x,y,z)进行绘图。

我感兴趣的是一个程序,我可以点击等高线图并在最靠近我点击的点的位置绘制单个光谱的图。这对我的数据分析非常好。这远程可能吗?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,有可能,您可能需要构建一个GUI,但以下内容也可能令您满意。从ginput之类的函数开始。例如,[x,y] = ginput(n)使您能够从当前轴识别n个点并在x和y列向量中返回它们的x和y坐标。按回车键将在输入n点之前终止输入。然后从这些x,y坐标,使用find绘制您拥有的数据的相关部分。