Перемещение курсора по графику
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Перемещение курсора по графику
Всем привет
Я перемещаю курсор (зеленый вертикальный) мышкой по 2 графику(смотри картинку). На картинке на 2 графике есть кластер с 0 (они в белых квадратиках). Горизонтально идут графики
Каким свойством графика можно воспользоваться чтобы в кластер заносились текущие значения графиков
Еще вопрос как можно сделать так чтобы при движении по нижнему графику кластрер с 0 был всегда рядом с курсором зеленым
Спасибо
Я перемещаю курсор (зеленый вертикальный) мышкой по 2 графику(смотри картинку). На картинке на 2 графике есть кластер с 0 (они в белых квадратиках). Горизонтально идут графики
Каким свойством графика можно воспользоваться чтобы в кластер заносились текущие значения графиков
Еще вопрос как можно сделать так чтобы при движении по нижнему графику кластрер с 0 был всегда рядом с курсором зеленым
Спасибо
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Перемещение курсора по графику
Вторую часть я бы сделал мудрёнее, через прямые координаты мыши, чтобы меньше вычислений, но для этого надо ещё следить что мышь на графике. Так что вот так.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Перемещение курсора по графику
Спасибо за ответ а еще вопрос если на графике несколько курсоров как можно выполнить команду "goto cursor" то есть перейти на курсор номер такой то.
Есть в свойствах active cursor но она ли это?
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Перемещение курсора по графику
Япишубеззнаковпрепинанияипробеловпотомучтомнеленьихставить
Аещёмнеленьпочитатьконтекстнуюсправку
Аещёмнеленьпочитатьконтекстнуюсправку
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
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Перемещение курсора по графику
Всё-таки вопрос: Как можно сделать так чтобы в кластер на нижнем графике заносились текущие значения курсора при движении?
Как бы срез значений сделать? То есть когда движется курсор, значение текущее 1 -го графика заносились в первый элемент кластера, текущее значение 2 -го графика заносились вот второй элемент кластера и т.д.....
Непонятно как привязаться.
Еще вопрос можно ли сделать так, чтобы вертикальный курсор на GraphXY при построении графика стоял по центру например, но его мышкой можно было двигать?
Спасибо.
Как бы срез значений сделать? То есть когда движется курсор, значение текущее 1 -го графика заносились в первый элемент кластера, текущее значение 2 -го графика заносились вот второй элемент кластера и т.д.....
Непонятно как привязаться.
Еще вопрос можно ли сделать так, чтобы вертикальный курсор на GraphXY при построении графика стоял по центру например, но его мышкой можно было двигать?
Спасибо.
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Перемещение курсора по графику
Я на графике вижу только один курсор, так что "перебирать" их бесполезно, нечего перебирать.
Если их несколько, то именно перебором: активный - координата - активный - координата...
Если их несколько, то именно перебором: активный - координата - активный - координата...
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Перемещение курсора по графику
Дополнение: в свойствах курсора возможен вариант "multi-plot", возможно на вашем графике он работает, и тогда координаты сразу будут массивами (это предположение)
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
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Перемещение курсора по графику
К сожалению у меня Multi Plot не активен, как можно активировать его?
Заранее спасибо.
Заранее спасибо.
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Перемещение курсора по графику
Наверное, никак. На mixed signal graph он сразу доступен (пример графика можно в стандартных примерах найти)
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Перемещение курсора по графику
Я уже замучался
В вопрос:
Я выложу пример в в нем на верхнем индикаторе идет график.
У не есть зеленый курсор.
Как сделать так чтобы при старте программы он расположился в центре, и не двигался вместе с графиком?
Потом можно было взять его и мышкой двигать это я могу сделать.
Вот еще вопрос как сделать чтобы при отпускании курсора он остался на месте, а не двигался влево в месте с графиком?
Спасибо
В вопрос:
Я выложу пример в в нем на верхнем индикаторе идет график.
У не есть зеленый курсор.
Как сделать так чтобы при старте программы он расположился в центре, и не двигался вместе с графиком?
Потом можно было взять его и мышкой двигать это я могу сделать.
Вот еще вопрос как сделать чтобы при отпускании курсора он остался на месте, а не двигался влево в месте с графиком?
Спасибо
- Вложения
-
- Test Graph_ChernoVIK_NET.vi
- Зеленый курсор
- (50.98 КБ) 47 скачиваний
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Перемещение курсора по графику
А что такое "в центре" и почему он не должен двигаться?
У курсора есть координата Х, он к ней и прилеплен. Так что если нужно привязать к "георгафическому" центру, то придётся при каждом обновлении данных на графике вычислять среднее по Х и перемещать курсор туда.
Так он и остаётся на месте. У вас место едет, а не курсор. И если "центр" я ещё как-то могу понять, то беготня курсора направо меня бы как пользователя смущала. Но если очень хочется поизвращаться, то примерно так:Вот еще вопрос как сделать чтобы при отпускании курсора он остался на месте, а не двигался влево в месте с графиком?
1 при отпускании (есть такое событие) вычислить dx = (Xc-Xmin)(Xmax-Xmin)
Xc - положение курсора
Xmin - пределы шкалы на графике
Xmax
2 при обновлении данных вычислить Xc = (Xmax-Xmin) * dX + Xmin
3 переместить курсор в положение Xc
Но повторю, затея странная. Шкала графика "сжимается", и ползущий курсор делает то, что должен.