Страница 1 из 1

Можно ли растянуть график WaveForm Chart по оси Х?

Добавлено: 17 ноя 2019, 16:29
dakishi
Добрый день! Возможно ли растянуть (поставить более разреженно точки на графике или наоборот, плотнее) график на WaveForm Chart по горизонтальной оси с помощью какой либо внутренней команды (которую можно вызывать по ходу выполнения команды) ?

Re: Можно ли растянуть график WaveForm Chart по оси Х?

Добавлено: 17 ноя 2019, 22:14
IvanLis
dakishi писал(а):Добрый день! Возможно ли растянуть (поставить более разреженно точки на графике или наоборот, плотнее) график на WaveForm Chart по горизонтальной оси с помощью какой либо внутренней команды (которую можно вызывать по ходу выполнения команды) ?
Формально можно, но размер буфера во время исполнения изменить нельзя.
Можно только расстояние между отсчетами изменить и границы отображения.

Re: Можно ли растянуть график WaveForm Chart по оси Х?

Добавлено: 18 ноя 2019, 08:48
dakishi
IvanLis писал(а):Формально можно, но размер буфера во время исполнения изменить нельзя.
Можно только расстояние между отсчетами изменить и границы отображения.
То есть получается, что растяжение можно свести только к изменениям границ ? А реально сузить интервалы между значениями (с потерями) или сделать более разреженными (с потерями по выходу за границы буфера) нельзя ?

Re: Можно ли растянуть график WaveForm Chart по оси Х?

Добавлено: 18 ноя 2019, 10:08
IvanLis
Вы можете нарисовать два варианта, какой есть и какой хотите получить.
Просто не понятно, что Вы хотите сделать.

У Вас есть сигнал с частотой 1кГц, соответственно расстояние между отсчетами 1мс.
Вот у Вас этот сигнал отображается, накопили вы допустим 5к отсчетов и они отображаются на контроле шириной 500pix в пределах 0..5сек.
Изменение dt графика приведет к искажению временной шкалы.
Остается только интервал отображения менять.
Например сделали интервал 0..10сек, получили отсчеты более плотно, но при этом заполнено будет половина контрол (0..5 сек).
Сделали интервал 0..2.5сек, получили отсчеты более разряжено, но при этом часть информации будет скрыта от пользователя (2,5..5 сек).

Re: Можно ли растянуть график WaveForm Chart по оси Х?

Добавлено: 18 ноя 2019, 22:51
Kosist
Может Вам нужно "разрежение" (decimation) графика? Суть в том, что пользователю не имеет смысла отображать, например, 1000 точек каждую секунду - глаз их все равно не различит (без зуминга). Поэтому применяют разные алгоритмы (можно поискать здесь, сходу как-то не нашел нужный) для разрежения графика. Например, 1000 точека разбиваете на 10 групп по 100 точек, находите там мин/макс, и их среднее значение. Затем получившиеся 10 точек отображаете на графе (для waveform, нужно увеличить в таком случае dt соотвественно в 10 раз).
Единственная проблема в этом случае, если нужно граф зуммировать - т.к. точек для зуминга будет мало.

Re: Можно ли растянуть график WaveForm Chart по оси Х?

Добавлено: 19 ноя 2019, 08:06
ujin
Такой можете пример рассмотреть. (Перетяните Snippet на диаграмму)