Chart.js проблема с интервалом в гистограмме - PullRequest
0 голосов
/ 06 июля 2019

Похоже, что гистограммы Chart.js с 4 наборами данных, указывающими разное время вдоль оси x, будут отображать каждую временную точку оси X так, как если бы она ожидала 4 значения каждый раз.Я хотел бы сохранить область экрана и показывать только наборы данных, в которых данные в то время отображались рядом друг с другом, без пропусков.

Я попытался указать наборы данных со встроенной координатой x, например,

var s1 = {
    label: 'group1',
    backgroundColor: 'blue',
    data: [
        { x: '2019-07-07 10:00:30', y: 100 },
        { x: '2019-07-07 10:05:28', y: 101 }
    ]
};
var s2 = {
    label: 'group2,
    backgroundColor: 'green',
    data: [
        { x: '2019-07-07 10:00:30', y: 71 }
        { x: '2019-07-07 10:10:13', y: 101 }
    ]
};
var s3 = {
    label: 'group3',
    backgroundColor: 'orange',
    data: [
        { x: '2019-07-07 10:00:30', y: 90 },
        { x: '2019-07-07 10:05:28', y: 95 },
        { x: '2019-07-07 10:10:13', y: 85 }
  ]
};

я также пытался использовать этот шаблон:

метки: ["2019-07-07 10:00:30", "2019-07-07 10:05:28 "," 2019-07-07 10:10:13 "]

и просто указать значения данных для каждого набора данных, например, var s2 -> data [71,101] -> Проблема с этим подходом состоит в том, что эти 2 значения данных выровнены с 1-ыми 2-мя временными точками оси X, что неверно, s2-точки данных имели место только в 10:00 и 10:10 - мне нужно было бы указатьмассив как [71, 0, 101], если бы я хотел сделать это таким образом.Это нормально для небольших наборов данных, но основная проблема этого поста все еще остается - между барами для s1 и s3 будет видимое разделение, где график ожидает значение s2.

Также имейте в видуЭто небольшой пример, демонстрирующий проблему, с которой мы столкнулись.На самом деле мы имеем дело с тысячами точек данных, которые поступают в случайные моменты времени, которые могут занимать дни, а иногда и вовсе вовсе, например, кажется расточительным создание нескольких массивов из 10 000 элементов, содержащих в основном 0, для того, чтобы группы отображались навременное положение правой оси X, поэтому я пошел с первоначальным подходом к созданию наборов данных, содержащих значения.

Проблема, с которой мы сталкиваемся при таком подходе, состоит в том, что каждая временная шкала, которую он создает вдоль оси x, ожидаетиметь значение / бар для каждого набора данных - и это не всегда так.Мы часто будем

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

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

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

...