Агрегация или моделирование неупорядоченных данных для построения диаграмм - PullRequest
0 голосов
/ 06 августа 2020

У меня проблема с визуализацией данных.
У меня тоже есть проблема назвать мою проблему и, следовательно, найти ее или дать ей подходящее название.
Извините, так как описание моей проблемы немного длинный.

Мне нужно визуализировать данные в виде простой линейной диаграммы.
Но существуют требования и технические ограничения, которые требуют, чтобы я подготовил данные, прежде чем я смогу построить диаграмму.

Первое ограничение состоит в том, что программный компонент, отвечающий за построение графика, очень примитивен и не может быть изменен.
Примитивен в том смысле, что он отображает только кортежи данных. Первое значение в кортеже будет значением абсциссы, а все остальные значения - отдельными значениями ординат для этого значения абсцисс. Затем программный компонент просто соединяет каждое n-е значение ординаты от абсциссы до абсцисс в порядке добавления кортежей.
Но здесь не ie моя проблема.

Мои настоящие проблемы:

  • количество точек данных, которые я могу построить, ограничено, и прокрутка невозможна
  • предоставленные данные по абсциссе не непрерывны
  • разрешение графика должно быть переменная

Я решил проблему преобразования общих c числовых c данных абсциссы в непрерывный поток точек данных, так что у меня, например, есть хороший хронологический поток.

Я тоже решил проблему «масштабирования» диаграммы, по крайней мере, в том случае, когда предоставленные точки данных абсцисс совпадают с преобразованными. (Я вычисляю линейные уравнения между точками данных и просто вставляю недостающие значения абсцисс.)


Но в случае, когда точки данных абсцисс не выровнены, для «уменьшения» или когда достигнут предел отображаемых точек данных, я разделяю мнения о том, как работать с соответствующими значениями ординат.

У меня есть два основных соперника, но я не совсем уверен, является ли любой из них «правильным» и представляет истинное данные достаточно хороши.

  • Первый простой: я использую линейные уравнения для соединения реальных значений ординат, затем просто вставляю преобразованные непрерывные значения абсцисс, чтобы получить соответствующие значения ординат, и вместе передаю их для построения графика.
  • Второй включает в себя вычисление значений отклонения реальных значений ординат (y n - y n-1 ), а затем для отдельной абсциссы значение, образующее сумму всех значений отклонения, которые равны или ниже этого значения абсциссы.

Возьмите следующий произвольный e xample, где x - реальные точки данных по оси абсцисс, а y - точки реальных данных по ординате.
(Обратите внимание, что значения по оси абсцисс имеют пробелы.)

| x | y |
|---|---|
|  0|  0|
|  1|  1|
|  3|  7|
|  6|  0|
|  8|  1|
|  9|  8|
| 10|  0|
| 12|  5|
| 13|  3|
| 14|  1|
| 15|  1|
| 17|  3|
| 18|  9|
| 20|  6|

Если я, где теперь пример Если разумно только построить четные значения по оси абсцисс, то в этом примере будут получены следующие числа.
x и y - это снова те же реальные значения точек данных, а d - расчетные значения ординат отклонения.
x' - значения абсцисс, которые мне нужно построить, вместе с LE - значениями ординат, моделируемыми линейными уравнениями, и D значениями ординат, моделируемыми путем суммирования значений отклонения в столбце d.

| x | y | d |    | x'|  LE | D |
|---|---|---|    |---|-----|---|
|  0|  0|  0|    |  0|    0|  0|
|  1|  1|  1|    |  2|    4|  1|
|  3|  7|  6|    |  4| 4.67|  7|
|  6|  0| -7|    |  6|    0|  0|
|  8|  1|  1|    |  8|    1|  1|
|  9|  8|  7|    | 10|    0|  0|
| 10|  0| -8|    | 12|    5|  5|
| 12|  5|  5|    | 14|    1|  1|
| 13|  3| -2|    | 16|    2|  1|
| 14|  1| -2|    | 18|    9|  9|
| 15|  1|  0|    | 20|    6|  6|
| 17|  3|  2|
| 18|  9|  6|
| 20|  6| -3|

График в Excel это выглядит так:
Диаграмма с исходными данными и обеими имитирующими альтернативами

Как вы можете видеть, обе альтернативы проглатывают пик между 8 и 10.
И поскольку линейные уравнения представляют исходное «лучшее» между 14 и 18, альтернатива со значениями отклонения представляет исходный «лучше» от 0 до 6.

Думаю, я ищу правильный математический способ сделать это и / или ресурсы по этому топу c.
У меня есть подозрение, что это вещь, вероятно, зависит от отображаемых данных, но опять же, я не знаю, что искать, и не уверен, что мои методы «безупречны».

Вообще говоря, мне нужен «лучший» и «самый подходящий» подход или множественное число, так как мне нужно будет построить «все виды» данных.
Данные для построения графика поступают из системы REP и на данный момент я могу думать о: финансовых данных любого рода и характера, производственных и производственных показателях машин, запасов или рабочих или статистике о клиентах, машинах, командах, отдельных людях, продуктах и ​​т. д. c.

Надеюсь, мое описание достаточно ясное. Если нет, дайте мне знать, и я сделаю все, что смогу, чтобы устранить неисправные детали или добавить дополнительную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...