2013-03-13 2 views
1

У меня есть набор данных или спектров для различных координат x-y.matlab интерактивный контурный график

Выглядит примерно так:

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).

Меня интересует программа, в которой я могу щелкнуть по контурному сюжету и вытащить график отдельного спектра в точке, ближайшей к месту, где я нажал. Это было бы очень приятно при анализе моих данных. Возможно ли это дистанционно? Заранее спасибо за вашу помощь!

ответ

0

Да, возможно, вам, вероятно, потребуется создать графический интерфейс, но для вас также может быть удовлетворительным. Начните с функции, такой как ginput. Например, [x,y] = ginput(n) позволяет идентифицировать n точек от текущих осей и возвращает их координаты x и y в векторах столбца x и y. Нажатие клавиши Return приведет к завершению ввода перед входом в n точек. Затем из этих координат x, y используйте find для построения соответствующей части данных, которые у вас есть.

+0

Спасибо, функция ginput очень полезна. Я смог написать программу, которая берет данные ginput, преобразует каждую точку в ближайшую фактическую точку x-y и отображает данные для каждой из этих точек. Программирование довольно плохое и должно корректироваться в зависимости от размера и расстояния карты, но оно работает! Я также смог добавить легенду к фигуре, но это было, вероятно, больше неприятностей, чем это стоило. Я бы опубликовал функцию, но это не очень красиво. –

Смежные вопросы