Re[7]: Построение графиков функции с огромным количеством точек
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 17.03.14 12:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>То есть наверно есть толк как то этот процесс оптимизировать, то есть выбрать наиболее оптимальную длину отрезка L (xi, min(A[yi..L]) — (xi, max(A[yi..L])?


(xi, min(A[yi..yi+L]) — (xi, max(A[yi..yi+L])
L = n / width

где n общее число точек, width это ширина области в пикселях, где происходит построение. Или я чего-то не понимаю?
Re[4]: Построение графиков функции с огромным количеством точек
От: Аноним  
Дата: 17.03.14 12:22
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Здравствуйте, Аноним, Вы писали:


А>>>>Подскажите пожалуйста, инструменты, библиотеки, чтобы быстро строить и отображать графики функций, где количество точек больше 5 000 000.


P>Эффективно разреживать массив при зуминге можно с помощью алгоритма Рамера-Дугласа-Пекера для точек попадающих в выбранный диапазон, исходный график можно усреднить самым примитивным фильтром подобранным под тип данных, если это гладкие данные, то пойдет обычное усреднение по группе точек, если это какие-то случайные данные или какое-то броуновское движение, то нужно искать фильтр для таких данных


Значения функции сигнала от спутника, да там есть элемент случайности, а именно генерация шума. То есть нужно искать фильтр под такие данные? Или все таки подойдет усреднение по группе точек?
Re[8]: Построение графиков функции с огромным количеством точек
От: peterbes Россия  
Дата: 17.03.14 12:27
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>То есть наверно есть толк как то этот процесс оптимизировать, то есть выбрать наиболее оптимальную длину отрезка L (xi, min(A[yi..L]) — (xi, max(A[yi..L])?


M>(xi, min(A[yi..yi+L]) — (xi, max(A[yi..yi+L])

M>L = n / width

M>где n общее число точек, width это ширина области в пикселях, где происходит построение. Или я чего-то не понимаю?


вообще написанное не верно, какие тут индексы L, равный n / width? А если эти данные идут с непостоянным шагом? А если между данными имеются большие разрывы? Вообще вопрос как мне нарисовать большое количество точек без привязки к самим данным это типично программерский вопрос, соответственно и советы идут в том же ключе.
Re[4]: Построение графиков функции с огромным количеством точек
От: Аноним  
Дата: 17.03.14 12:32
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Здравствуйте, Аноним, Вы писали:


А>>>>Подскажите пожалуйста, инструменты, библиотеки, чтобы быстро строить и отображать графики функций, где количество точек больше 5 000 000.


P>Эффективно разреживать массив при зуминге можно с помощью алгоритма Рамера-Дугласа-Пекера для точек попадающих в выбранный диапазон, исходный график можно усреднить самым примитивным фильтром подобранным под тип данных, если это гладкие данные, то пойдет обычное усреднение по группе точек, если это какие-то случайные данные или какое-то броуновское движение, то нужно искать фильтр для таких данных


Да то, что нужно, а именно алгоритм Рамера-Дугласа-Пекера, спасибо )
Re: Построение графиков функции с огромным количеством точек
От: Аноним  
Дата: 17.03.14 12:33
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите пожалуйста, инструменты, библиотеки, чтобы быстро строить и отображать графики функций, где количество точек больше 5 000 000.


Не знаю насчет библиотек, но общая идея такая: mipmapping.
Re[5]: Построение графиков функции с огромным количеством точек
От: peterbes Россия  
Дата: 17.03.14 12:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Значения функции сигнала от спутника, да там есть элемент случайности, а именно генерация шума. То есть нужно искать фильтр под такие данные? Или все таки подойдет усреднение по группе точек?


Наверное так. Может быть придется прогнать всю последовательность МНК, получить полином, которым эта последовательность описывается, потом найти "грязные" и "шумные" участки, потом уже думать, что с ними делать, это конечно не есть гуд, но по крайней мере с гладкими участками проблем не будет с Рамером-Дугласом-Пекером.
Re[6]: Построение графиков функции с огромным количеством точек
От: Аноним  
Дата: 17.03.14 12:49
Оценка:
Здравствуйте, peterbes, Вы писали:

P>Здравствуйте, Аноним, Вы писали:


А>>Значения функции сигнала от спутника, да там есть элемент случайности, а именно генерация шума. То есть нужно искать фильтр под такие данные? Или все таки подойдет усреднение по группе точек?


P>Наверное так. Может быть придется прогнать всю последовательность МНК, получить полином, которым эта последовательность описывается, потом найти "грязные" и "шумные" участки, потом уже думать, что с ними делать, это конечно не есть гуд, но по крайней мере с гладкими участками проблем не будет с Рамером-Дугласом-Пекером.


Ясно, спасибо =)
Re: Одно из быстрых решений
От: Аноним  
Дата: 18.03.14 10:21
Оценка:
Здравствуйте, Аноним, Вы писали:

Можно было воспользоватся ZedGraph v5.1.15:
FilteredPointList filteredPoints = new FilteredPointList(xs, ys);
filteredPoints.SetBounds(Double.MinValue, Double.MaxValue, maxPointsCount);
pane.AddCurve(graphTitle, filteredPoints, color, symbolType);
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.