У меня есть массив, содержащий большое количество (300 000) значений с плавающей запятой. Я передаю этот массив в библиотеку диаграмм (ScottPlot), которая в основном работает нормально.
Проблема в том, что в данных могут быть «сбои» — я имею в виду, что я может иметь набор данных, в котором большая часть данных находится в диапазоне от -1000 до +1000 со случайными всплесками (несколько значений) < -100 000 или > +100 000. Когда это происходит, автоматическое масштабирование автоматически масштабируется до сбоев, и реальные данные трудно увидеть.
К сожалению, наборы данных не согласованы, поэтому, хотя набор данных A может иметь хорошие данные между -100 и +100 с пиками -10 000 и +10 000, набор данных B может иметь хорошие данные между -10 000 и +10 000 с пиками -1 000 000 и +1 0000 000, поэтому я не могу просто удалить все данные снаружи некоторые фиксированные ограничения перед вычислением минимального и максимального значения для масштабирования графика.
Существует ли алгоритм, который позволил бы мне вычислить наименьший диапазон (минимальные и максимальные значения), охватывающий 90% данных точек, и затем я бы установил ось Y диаграммы на эти минимальные/максимальные значения?
РЕДАКТИРОВАТЬ
Было высказано предположение, что мой вопрос Вычисление 90-го процентиля за время O(n), но, как я уже говорил в своем ответе, этот алгоритм (среди прочих) начинается с сортировки данных, и, как я упоминал в своем ответе, сортировка крайне неэффективна для этой задачи.
Подробнее здесь: https://stackoverflow.com/questions/789 ... -of-floats
Получить диапазон, охватывающий 90% плавающих значений? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Квадрат минимальной площади, охватывающий K точек среди заданных N точек
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-