Номер элемента в XY Graph
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Номер элемента в XY Graph
Всем добрый день! Требуется совет!
Как на графике XY Graph с неравномерной шкалой X определить элемент массива, на который указывает указатель мыши. За ранее благодарю.
Как на графике XY Graph с неравномерной шкалой X определить элемент массива, на который указывает указатель мыши. За ранее благодарю.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Номер элемента в XY Graph
Определить по указателю мыiи нельзя. Можно по положению курсора (Cursors). Предварительно надо добавить курсор и настроить.
Далее есть такой элемент "Threshold 1D Array". подаете на него массив X составляющих графика и полученные координаты курсора в Event XYGraph/Cursor Release (свойство CursLoc.X) На выходе получаете индекс элемента, необходимым образом его округляете и получаете ближайшую точку. Если график не монотонно возрастает по шкале X, то программа будет немного сложнее.
Далее есть такой элемент "Threshold 1D Array". подаете на него массив X составляющих графика и полученные координаты курсора в Event XYGraph/Cursor Release (свойство CursLoc.X) На выходе получаете индекс элемента, необходимым образом его округляете и получаете ближайшую точку. Если график не монотонно возрастает по шкале X, то программа будет немного сложнее.
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Re: Номер элемента в XY Graph
Спасибо за подсказку!!!
Что касается обнаружении указателя мышки, то может быть можно (после нажатия клавиши мышки) пересчитать по пикселям – Event Structure -> «XY Graph» : Mouse Down -> Coords -> ???.
Что касается обнаружении указателя мышки, то может быть можно (после нажатия клавиши мышки) пересчитать по пикселям – Event Structure -> «XY Graph» : Mouse Down -> Coords -> ???.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Номер элемента в XY Graph
Есть свойство Plot Area Bounds, которое содержит координаты рамки графика. Есть также свойства XScale.Range.Maximum и Minimum
Зная размеры графика в пикселях и единицах диапазона шкалы, можно, путем вычислений, таки получить искомое. Дерзайте.
Зная размеры графика в пикселях и единицах диапазона шкалы, можно, путем вычислений, таки получить искомое. Дерзайте.
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Re: Номер элемента в XY Graph
Спасибо Borjomy_1. Идея понятна, но в моём случае наблюдается нестыковка.
p.s. Вероятно, необходимо учесть размер ½ указателя мышки?
Во вложении решение поставленной задачи.
p.s. Вероятно, необходимо учесть размер ½ указателя мышки?
Во вложении решение поставленной задачи.
- Вложения
-
- Позиция мыши на XY-Full.vi
- (18.64 КБ) 210 скачиваний
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Номер элемента в XY Graph
Почему не использовали Plot Area Bounds?
з.ы. Как вы думаете, что будет, если цикл формирования графика переместить правее основного цикла (поменять их местами на диаграмме)?
з.ы. Как вы думаете, что будет, если цикл формирования графика переместить правее основного цикла (поменять их местами на диаграмме)?
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Re: Номер элемента в XY Graph
Borjomy_1 ! Ваш вариант действительно лучше. Думаю, что элемент «Plot Bounds» всё-таки необходимо выделять из «XYGraph (strict)»- так более логично.
Что касается перемещения формирования графика внутрь цикла, то это противоречит поставленной задачи. Я должен исследовать уже имеющийся график данных.
Что касается перемещения формирования графика внутрь цикла, то это противоречит поставленной задачи. Я должен исследовать уже имеющийся график данных.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Номер элемента в XY Graph
Имеется в виду то, что порядок несвязанных операций в Labview не определен. Теоретически они выполняются одновременно. В вашем коде это маловероятно, однако в будущем рекомендую все-таки явно указывать порядок вычислений, например, с помощью Sequenceесли цикл формирования графика переместить правее основного цикла
- kiparym
- advanced
- Сообщения: 178
- Зарегистрирован: 06 сен 2011, 08:52
- Версия LabVIEW: 8.2 & 2011
- Откуда: г. Саров
- Поблагодарили: 1 раз
- Контактная информация:
Re: Номер элемента в XY Graph
Если в отладочном режиме определена последовательность выполнения действий, то есть гарантия, что данная последовательность сохранится в EXE?Имеется в виду то, что порядок несвязанных операций в Labview не определен
(Но это уже другая тема!)
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Номер элемента в XY Graph
Гарантий нет. Поскольку отладочный режим больше времени тратит на проведение "шарика" по тренду. Чем длиннее линия, соединяющая два компонента, тем больше времени занимает передача значения. В реальности длины линий никакого значения не имеют, а имеет значение время выполнения компонент.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 391 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 1 Ответы
- 844 Просмотры
-
Последнее сообщение IvanLis