Перемещение курсора по графику

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Перемещение курсора по графику

Сообщение JohnChaban »

Всем привет
Я перемещаю курсор (зеленый вертикальный) мышкой по 2 графику(смотри картинку). На картинке на 2 графике есть кластер с 0 (они в белых квадратиках). Горизонтально идут графики
Каким свойством графика можно воспользоваться чтобы в кластер заносились текущие значения графиков
Еще вопрос как можно сделать так чтобы при движении по нижнему графику кластрер
Как сделать так чтобы при движении зеленого курсора на 2 графике кластер вставал рядом, тепкущие значения функций в него заносились
Как сделать так чтобы при движении зеленого курсора на 2 графике кластер вставал рядом, тепкущие значения функций в него заносились
с 0 был всегда рядом с курсором зеленым
Спасибо
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Перемещение курсора по графику

Сообщение Artem.spb »

Вторую часть я бы сделал мудрёнее, через прямые координаты мыши, чтобы меньше вычислений, но для этого надо ещё следить что мышь на графике. Так что вот так.
graph.png
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Перемещение курсора по графику

Сообщение JohnChaban »

Artem.spb писал(а): 17 авг 2021, 16:17 Вторую часть я бы сделал мудрёнее, через прямые координаты мыши, чтобы меньше вычислений, но для этого надо ещё следить что мышь на графике. Так что вот так.
graph.png
Спасибо за ответ а еще вопрос если на графике несколько курсоров как можно выполнить команду "goto cursor" то есть перейти на курсор номер такой то.
Есть в свойствах active cursor но она ли это?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Перемещение курсора по графику

Сообщение Artem.spb »

Япишубеззнаковпрепинанияипробеловпотомучтомнеленьихставить
Аещёмнеленьпочитатьконтекстнуюсправку
Active Cursor Property
Short Name: ActCrsr
Use this property to get and set the active cursor and set properties and methods on that cursor.

For example, you can use the Selected Cursors property to indicate which cursor you have currently selected on a graph or chart, then use the Active Cursor property to set that cursor to the cursor you want to modify using cursor properties and methods. The Active Cursor does not return the user selected cursor. Use the Selected Cursor property to get the user selected cursor.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Перемещение курсора по графику

Сообщение JohnChaban »

Простите, за знаки препинания
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Перемещение курсора по графику

Сообщение JohnChaban »

Всё-таки вопрос: Как можно сделать так чтобы в кластер на нижнем графике заносились текущие значения курсора при движении?
Как бы срез значений сделать? То есть когда движется курсор, значение текущее 1 -го графика заносились в первый элемент кластера, текущее значение 2 -го графика заносились вот второй элемент кластера и т.д.....
Непонятно как привязаться.
Еще вопрос можно ли сделать так, чтобы вертикальный курсор на GraphXY при построении графика стоял по центру например, но его мышкой можно было двигать?


Спасибо.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Перемещение курсора по графику

Сообщение Artem.spb »

Я на графике вижу только один курсор, так что "перебирать" их бесполезно, нечего перебирать.
Если их несколько, то именно перебором: активный - координата - активный - координата...
graph2.png
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Перемещение курсора по графику

Сообщение Artem.spb »

Дополнение: в свойствах курсора возможен вариант "multi-plot", возможно на вашем графике он работает, и тогда координаты сразу будут массивами (это предположение)
graph3.jpg
graph3.jpg (55.79 КБ) 1553 просмотра
Multi-Plot—Positions the cursor only on a specific data point in the plot area. The multi-plot cursor reports values at the specified x-value for all of the plots with which the cursor is associated. You can position the cursor on any plot in the plot area. Right-click the cursor legend row and select Snap To from the shortcut menu to associate one or all plots with the cursor. This mode is only valid for mixed signal graphs.
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Перемещение курсора по графику

Сообщение JohnChaban »

К сожалению у меня Multi Plot не активен, как можно активировать его?
Заранее спасибо.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Перемещение курсора по графику

Сообщение Artem.spb »

Наверное, никак. На mixed signal graph он сразу доступен (пример графика можно в стандартных примерах найти)
Аватара пользователя
JohnChaban
leader
leader
Сообщения: 669
Зарегистрирован: 18 фев 2010, 13:26
Версия LabVIEW: 2015,2016
Откуда: Город Сосновый Бор Ленинградская Область
Контактная информация:

Re: Перемещение курсора по графику

Сообщение JohnChaban »

Я уже замучался
В вопрос:
Я выложу пример в в нем на верхнем индикаторе идет график.
У не есть зеленый курсор.
Как сделать так чтобы при старте программы он расположился в центре, и не двигался вместе с графиком?
Потом можно было взять его и мышкой двигать это я могу сделать.
Вот еще вопрос как сделать чтобы при отпускании курсора он остался на месте, а не двигался влево в месте с графиком?
Спасибо
Вложения
Test Graph_ChernoVIK_NET.vi
Зеленый курсор
(50.98 КБ) 47 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Перемещение курсора по графику

Сообщение Artem.spb »

JohnChaban писал(а): 19 авг 2021, 15:36 он расположился в центре, и не двигался вместе с графиком?
А что такое "в центре" и почему он не должен двигаться?
У курсора есть координата Х, он к ней и прилеплен. Так что если нужно привязать к "георгафическому" центру, то придётся при каждом обновлении данных на графике вычислять среднее по Х и перемещать курсор туда.
Вот еще вопрос как сделать чтобы при отпускании курсора он остался на месте, а не двигался влево в месте с графиком?
Так он и остаётся на месте. У вас место едет, а не курсор. И если "центр" я ещё как-то могу понять, то беготня курсора направо меня бы как пользователя смущала. Но если очень хочется поизвращаться, то примерно так:
1 при отпускании (есть такое событие) вычислить dx = (Xc-Xmin)(Xmax-Xmin)
Xc - положение курсора
Xmin - пределы шкалы на графике
Xmax
2 при обновлении данных вычислить Xc = (Xmax-Xmin) * dX + Xmin
3 переместить курсор в положение Xc

Но повторю, затея странная. Шкала графика "сжимается", и ползущий курсор делает то, что должен.
Ответить

Вернуться в «Для чайников»