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

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

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

Сообщение kiparym »

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

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

Определить по указателю мыiи нельзя. Можно по положению курсора (Cursors). Предварительно надо добавить курсор и настроить.
Далее есть такой элемент "Threshold 1D Array". подаете на него массив X составляющих графика и полученные координаты курсора в Event XYGraph/Cursor Release (свойство CursLoc.X) На выходе получаете индекс элемента, необходимым образом его округляете и получаете ближайшую точку. Если график не монотонно возрастает по шкале X, то программа будет немного сложнее.
Аватара пользователя
kiparym
advanced
advanced
Сообщения: 178
Зарегистрирован: 06 сен 2011, 08:52
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение kiparym »

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

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

Есть свойство Plot Area Bounds, которое содержит координаты рамки графика. Есть также свойства XScale.Range.Maximum и Minimum
Зная размеры графика в пикселях и единицах диапазона шкалы, можно, путем вычислений, таки получить искомое. Дерзайте.
Аватара пользователя
kiparym
advanced
advanced
Сообщения: 178
Зарегистрирован: 06 сен 2011, 08:52
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение kiparym »

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

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

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

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

з.ы. Как вы думаете, что будет, если цикл формирования графика переместить правее основного цикла (поменять их местами на диаграмме)?
Вложения
s2.PNG
Аватара пользователя
kiparym
advanced
advanced
Сообщения: 178
Зарегистрирован: 06 сен 2011, 08:52
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение kiparym »

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

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

если цикл формирования графика переместить правее основного цикла
Имеется в виду то, что порядок несвязанных операций в Labview не определен. Теоретически они выполняются одновременно. В вашем коде это маловероятно, однако в будущем рекомендую все-таки явно указывать порядок вычислений, например, с помощью Sequence
Аватара пользователя
kiparym
advanced
advanced
Сообщения: 178
Зарегистрирован: 06 сен 2011, 08:52
Версия LabVIEW: 8.2 & 2011
Откуда: г. Саров
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение kiparym »

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

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

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

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