всплывающие подсказки charts.js для разных диапазонов данных - PullRequest
0 голосов
/ 08 июня 2018

Я использую charts.js (с директивой angular-charts), и я столкнулся с проблемой с другим размером набора данных.Я должен отобразить на линейной диаграмме некоторые значения на временной шкале.Поэтому мои данные структурированы так:

datasets : [
  [ {"x" : date1, "y" : 2 }, {"x" : date1, "y" : 5 } ..], //first dataset
  [ {"x" : date2, "y" : 3 }, {"x" : date4, "y" : 7 } ..] //second one
]; 

, где date1, date2, .. date4 - даты моментов, а y - случайные значения.Теперь, если первый набор данных имеет одинаковое количество значений второго набора данных, все в порядке.Но если у меня разные размеры набора данных (например, первый имеет значения для вчерашнего дня, а сегодня - второй для сегодняшнего и завтрашнего дня), то подсказка легенды совершенно неверна.Он всегда показывает значение NTH каждой серии, даже если они находятся в разные даты.Это немного сложно объяснить словами, и английский не мой язык.Я оставляю понятный скриншот здесь:

enter image description here

Как мне избежать этого поведения?

1 Ответ

0 голосов
/ 11 июня 2018

На всякий случай, если это может быть полезно для других разработчиков, мне удалось решить проблему нормализации данных.То есть я преобразовал свои данные из:

[ 
  [{"x" : date1, "y" : valueA }, {"x" : date2, "y" : valueB }, {"x" : date3, "y" : valueC }],
  [{"x" : date3, "y" : valueD }, {"x" : date4, "y" : valueE }]
]

в:

[ 
  [{"x" : date1, "y" : valueA }, {"x" : date2, "y" : valueB }, {"x" : date3, "y" : valueC }, {"x" : date4, "y" : undefined }],
  [{"x" : date1, "y" : undefined }, {"x" : date2, "y" : undefined },{"x" : date3, "y" : valueD }, {"x" : date4, "y" : valueE }]
]

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

...