График с большим количеством данных01.08.2015, 14:05. Показов 6679. Ответов 9
Метки нет (Все метки)
Добрый день всем.
Возникла задача - отобразить на графике большое количество данных - порядка 100 тысяч точек. При этом пользователь хочет активно изучать эти данные: приближать, удалять, скролить. Есть какие-нибудь готовые алгоритмы для этого? Нужно как-то налету прореживать точки, и не выводить их все на экран. Спасибо.
0
|
|
| 01.08.2015, 14:05 | |
|
Ответы с готовыми решениями:
9
Qwt. График с большим количеством точек Работа с большим количеством данных Работа с графиком и большим количеством данных |
| 01.08.2015, 15:40 | |
|
Вопрос задан в самой общей постановке. Давайте
допустим, что мы имеем файл с числовыми данными. Ваши 100 тысяч строк. Это несложно написать программу, которая будет автоматически перерисовывать нужный вам график в каждом случае изменения масштаба. Я этим правда мало занимался, но если допустим вам надо 500 точек из 100 000, то программа в данном случае просто вычислит, что надо рисовать одну точку из двухсот. Мне приходилось делать графический калькулятор. Это конечно не совсем то, что вам надо.... Было бы неплохо, если бы вы задали форму хранения данных и форму их предполагаемого расположения. На конкретные данные можно дать конкретный совет.
0
|
|
| 01.08.2015, 16:19 [ТС] | |
|
Данные - это просто количественная характеристика некоего процесса (например, температуры), привязанная ко времени.
Если данных много, то работа становится очень медленной, потому что на любой чих пользователя надо опять просмотреть все точки, выяснить, какие из них попали в зону видимости и отрисовать. Получается дико медленно. Может есть какие-нибудь структуры для кэширования, но ведь не будешь каждый масштаб кэшировать (просто никакой оперативки не хватит)? Не знаю даже к какой стороне подойти к этой задаче.
0
|
|
| 01.08.2015, 18:59 | |
|
Если чисел 100 тысяч, да хоть 100 миллионов, то
в этом случае подходит файл прямого (произвольного) доступа. К каждому числу можно обращаться независимо от наличия или отсутствия других чисел (данных). Именно с файлами производят самые громоздкие вычисления, когда иной памяти просто нет.
0
|
|
| 02.08.2015, 11:04 | |
|
Ну 100K по нынешним временам не объем, это просто помещается в память, и тут проходят если не все то многие усреднения "окном" и.т.п. Ну да ладно, это непринципиально, нехватка ресурсов всегда возможна. "Просто прореживание" - рисуем 1 точку из N считанных из файла. Точка должна выбираться случайно, это важно. Напр выбирая точки так 5, 105, 205 ... Вы рискуете получить искаженное представление. Разумеется рисуем только ту часть что видима в окне, и, если надо, кешируем чтение файла.
0
|
|
|
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
|
|
| 03.08.2015, 01:25 | |
|
Igor3D, что значит "на графике"? Подозреваю что Вы работаете с чем-то вроде png/jpg/etc. Если так, то это ошибочный путь. Вам надо векторная графика. Исходники можно посмотреть в geda, kicad.
0
|
|
| 03.08.2015, 08:35 [ТС] | |||
|
0
|
|||
| 03.08.2015, 11:29 | ||
|
Multi-Zoom готовый, скролл делается элементарно.
0
|
||
| 03.08.2015, 17:31 [ТС] | |
|
Спасибо всем. Решил при помощи кэширования. При отрисовке выбираю ближайший масштаб (в качестве ключа - количество точек на пиксель) и беру точки оттуда.
0
|
|
| 03.08.2015, 17:31 | |
|
Помогаю со студенческими работами здесь
10
Не работает код с большим количеством данных Создать файл-функцию с большим количеством данных Оптимизация и автоматизация работы с большим количеством данных Кто работал с большим количеством данных и загружал их в Grid? Сделать ProgressBar при зависании формы (работа с большим количеством данных) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|