"Рваная" ось Х

Обсуждение вопросов, связанных с обработкой аудио и видео информации
Ответить
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

"Рваная" ось Х

Сообщение banderlog »

Промеряю эфир в нескольких участках. Как (желательно на WaveFormGraf'е) изобразить снятые картинки без разрывов?
Ось Х должна, например, отображать 50 М...60 М после этого сразу 90 М .. 110 М, а потом сразу 440 М .. 460 М.
Очень не хочется делать общую картинку с "разрывами", а потом увеличивать нужные участки! :think:
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: "Рваная" ось Х

Сообщение Eugen Graf »

Хм, а что если взять три оси и изобразить три графика?
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: "Рваная" ось Х

Сообщение banderlog »

eg писал(а):Хм, а что если взять три оси и изобразить три графика?
А если их 20?
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: "Рваная" ось Х

Сообщение mzu2006 »

banderlog писал(а):изобразить снятые картинки без разрывов?
Спасибо за очень интересный вопрос. Начну с того, что готового решения я не знаю. Однако я вижу такие пути:
1. Указанный eg. Несколько осей X.
2. Использование Plot XY.vi и им подобных. Т.е. графики рисуются на индикаторе типа Picture. Распатронивается Plot XY.vi (а конкретно Draw Cartesian Axes.vi). и добавляются разрывы как тебе надо.
3. Использование внешних (ActiveX, COM, .NET) модулей для построения графиков. Например объект Graph в программе Originlab Origin может отображать ось с разрывом, встраивается куда угодно, и за небольшую денежку покупается комплект :vi: для :labview:, чтобы этим всем управлять.
Аватара пользователя
banderlog
user
user
Сообщения: 71
Зарегистрирован: 23 апр 2008, 20:44
Версия LabVIEW: 8.5
Контактная информация:

Re: "Рваная" ось Х

Сообщение banderlog »

mzu2006 писал(а): Спасибо за очень интересный вопрос. Начну с того, что готового решения я не знаю. Однако я вижу такие пути:
Не за что! :)
mzu2006 писал(а): 3. Использование внешних (ActiveX, COM, .NET) модулей для построения графиков. Например объект Graph в программе Originlab Origin может отображать ось с разрывом, встраивается куда угодно, и за небольшую денежку покупается комплект :vi: для :labview:, чтобы этим всем управлять.
Мне надо, чтобы ещё и под линухом работало, так что, видимо, не пойдёт.
mzu2006 писал(а): 2. Использование Plot XY.vi и им подобных. Т.е. графики рисуются на индикаторе типа Picture. Распатронивается Plot XY.vi (а конкретно Draw Cartesian Axes.vi). и добавляются разрывы как тебе надо.
Видимо, буду раздербанивать Axes.vi

Пасибки!
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: "Рваная" ось Х

Сообщение FireFly »

Вот подумываю для повышения информативности графиков в программе решить следующую задачку:

Есть 2 сигнала, например синусоида и пилообразный сигнал. Каждому сигналу на ФП соответствует кнопка "вкл/выкл" и Numeric Control типа DBL.
Необходимо вывести оба сигнала на один график следующим образом:
1) Если обе кнопки не нажаты график не меняется (не движется).
2) Если нажата одна кнопка, то соответствующий ей сигнал начинает выводиться на график, второй сигнал при этом не выводится (нарисованное ранее остаётся, но новые данные не добавляется).
3) Если нажаты обе кнопки, то на график выводятся оба графика. Графики имеют общие шкалы X и Y.

По оси Х откладывается текущее время. Т.к. на момент когда обе кнопки не нажаты обновление графика останавливается, при последующем включении одной из кнопок получается разрыв временной шкалы.

Планирую создавать график с рваной осью Х с помощью "Plot Multi-XY".

Хочу чтобы:
1) Старт графика после паузы выделялся вертикальной красной чертой на графике, и отметкой времени старта у оси Х.
2) Остановка графика так же выделялась вертикальной красной чертой на графике, и отметкой времени у оси Х. При этом после остановки делается короткий пустой отступ, чтобы был промежуток между остановкой и стартом, и подписи к оси не наложились друг на друга
3) Каждые, допустим, 5 сек вывода, на оси Х делается подпись. Возможен случай, когда почти сразу после периодической отметки будет отжата кнопка записи, тогда время остановки наложится на периодическу отметку. Чтобы избежать такой неприятности периодическая отметка должна появляться не сразу, а через некоторое время, убидившись что график не остановился и наложения не произойдет
4) При заполнении графика "до упора" старые данные должны начать стираться, а график "ползти" справа-налево.

Есть ещё одно усложнение - необходимо чтобы часть графика превышающая значение в соответствующем Numeric Control рисовалась другим цветом.

P.S. Может оформить эту задачу на конкурс "Виртуальный задачник"? Или не подходит по формату?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: "Рваная" ось Х

Сообщение Pavel Krivozubov »

в принципе вариант неплохой. Мы подумаем, спасибо!
Ответить

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