Номер элемента в XY Graph

Обсуждение вопросов, связанных с обработкой аудио и видео информации
Ответить
Аватара пользователя
kiparym
advanced
advanced
Сообщения: 169
Зарегистрирован: 06 сен 2011, 08:52
Репутация: 0
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Контактная информация:

Номер элемента в XY Graph

Сообщение kiparym »

Всем добрый день! Требуется совет!
Как на графике XY Graph с неравномерной шкалой X определить элемент массива, на который указывает указатель мыши. За ранее благодарю.

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Номер элемента в XY Graph

Сообщение Borjomy_1 »

Определить по указателю мыiи нельзя. Можно по положению курсора (Cursors). Предварительно надо добавить курсор и настроить.
Далее есть такой элемент "Threshold 1D Array". подаете на него массив X составляющих графика и полученные координаты курсора в Event XYGraph/Cursor Release (свойство CursLoc.X) На выходе получаете индекс элемента, необходимым образом его округляете и получаете ближайшую точку. Если график не монотонно возрастает по шкале X, то программа будет немного сложнее.

Аватара пользователя
kiparym
advanced
advanced
Сообщения: 169
Зарегистрирован: 06 сен 2011, 08:52
Репутация: 0
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Контактная информация:

Re: Номер элемента в XY Graph

Сообщение kiparym »

Спасибо за подсказку!!!
Что касается обнаружении указателя мышки, то может быть можно (после нажатия клавиши мышки) пересчитать по пикселям – Event Structure -> «XY Graph» : Mouse Down -> Coords -> ???.

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Номер элемента в XY Graph

Сообщение Borjomy_1 »

Есть свойство Plot Area Bounds, которое содержит координаты рамки графика. Есть также свойства XScale.Range.Maximum и Minimum
Зная размеры графика в пикселях и единицах диапазона шкалы, можно, путем вычислений, таки получить искомое. Дерзайте.

Аватара пользователя
kiparym
advanced
advanced
Сообщения: 169
Зарегистрирован: 06 сен 2011, 08:52
Репутация: 0
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Контактная информация:

Re: Номер элемента в XY Graph

Сообщение kiparym »

Спасибо Borjomy_1. Идея понятна, но в моём случае наблюдается нестыковка.

p.s. Вероятно, необходимо учесть размер ½ указателя мышки?
Во вложении решение поставленной задачи.
Вложения
Положение курсора.jpg
Позиция мыши на XY-Full.vi
(18.64 КБ) 125 скачиваний

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Номер элемента в XY Graph

Сообщение Borjomy_1 »

Почему не использовали Plot Area Bounds?

з.ы. Как вы думаете, что будет, если цикл формирования графика переместить правее основного цикла (поменять их местами на диаграмме)?
Вложения
s2.PNG

Аватара пользователя
kiparym
advanced
advanced
Сообщения: 169
Зарегистрирован: 06 сен 2011, 08:52
Репутация: 0
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Контактная информация:

Re: Номер элемента в XY Graph

Сообщение kiparym »

Borjomy_1 ! Ваш вариант действительно лучше. Думаю, что элемент «Plot Bounds» всё-таки необходимо выделять из «XYGraph (strict)»- так более логично.
Что касается перемещения формирования графика внутрь цикла, то это противоречит поставленной задачи. Я должен исследовать уже имеющийся график данных.

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Номер элемента в XY Graph

Сообщение Borjomy_1 »

если цикл формирования графика переместить правее основного цикла

Имеется в виду то, что порядок несвязанных операций в Labview не определен. Теоретически они выполняются одновременно. В вашем коде это маловероятно, однако в будущем рекомендую все-таки явно указывать порядок вычислений, например, с помощью Sequence

Аватара пользователя
kiparym
advanced
advanced
Сообщения: 169
Зарегистрирован: 06 сен 2011, 08:52
Репутация: 0
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Контактная информация:

Re: Номер элемента в XY Graph

Сообщение kiparym »

Имеется в виду то, что порядок несвязанных операций в Labview не определен

Если в отладочном режиме определена последовательность выполнения действий, то есть гарантия, что данная последовательность сохранится в EXE?
(Но это уже другая тема!)

Borjomy_1

Activity Professionalism Silver
expert
expert
Сообщения: 1921
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Репутация: 0
Версия LabVIEW: 4-8.6,9-14
Откуда: город семи холмов

Re: Номер элемента в XY Graph

Сообщение Borjomy_1 »

Гарантий нет. Поскольку отладочный режим больше времени тратит на проведение "шарика" по тренду. Чем длиннее линия, соединяющая два компонента, тем больше времени занимает передача значения. В реальности длины линий никакого значения не имеют, а имеет значение время выполнения компонент.

Ответить

Вернуться в «Работа с графикой и звуком»